网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

如何使用python批量下载图片-创新互联

如何使用python批量下载图片?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

创新互联始终坚持【策划先行,效果至上】的经营理念,通过多达十多年累计超上千家客户的网站建设总结了一套系统有效的全网整合营销推广解决方案,现已广泛运用于各行各业的客户,其中包括:成都玻璃贴膜等企业,备受客户赞赏。

使用环境:python3+pycharm+requests+re+BeatifulSoup+json

步骤:

1、然后找到你需要下载图片的网站。

2、找到需要下载的图片,在搜索界面查看源码,发现这个和前面的分析如出一辙,它的图片id藏在js里面。我们只需通过正则解析。拿到id然后拼凑url即可完成所有图片地址。

3、我们尝试能不能获得一个简单通用的url地址。

代码与总结

import requests
from urllib import parse
from bs4 import BeautifulSoup
import re
import json
header = {
 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36',
 'Cookie': 'wluuid=66; ',
 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
 'Accept-encoding': 'gzip, deflate, br',
 'Accept-language': 'zh-CN,zh;q=0.9',
 'Cache-Control': 'max-age=0',
 'connection': 'keep-alive'
 , 'Host': 'stock.tuchong.com',
 'Upgrade-Insecure-Requests': '1'
 }
def mkdir(path):
 import os# 引入模块
 path = path.strip()# 去除首位空格
 path = path.rstrip("\\") # 去除尾部 \ 符号
 isExists = os.path.exists(path) # 判断路径是否存在 # 存在 True # 不存在 False
 if not isExists: # 判断结果
 os.makedirs(path)# 如果不存在则创建目录 # 创建目录操作函数
 return True#print (path + ' 创建成功')
 else:
 # 如果目录存在则不创建,并提示目录已存在
 #print(path + ' 目录已存在')
 return False
def downloadimage(imageid,imgname):##下载大图和带水印的高质量大图
 url = 'https://weiliicimg9.pstatp.com/weili/l/'+str(imageid)+'.webp'
 url2 = 'https://icweiliimg9.pstatp.com/weili/l/'+str(imageid)+'.webp'
 b=False
 r = requests.get(url)
 print(r.status_code)
 if(r.status_code!=200):
 r=requests.get(url2)
 with open(imgname+'.jpg', 'wb') as f:
 f.write(r.content)
 print(imgname+" 下载成功")
def getText(text,free):
 texturl = parse.quote(text)
 url="https://stock.tuchong.com/"+free+"search?term="+texturl+"&use=0"
 print(url)
 req=requests.get(url,headers=header)
 soup=BeautifulSoup(req.text,'lxml')
 js=soup.select('script')
 path=''
 if not free.__eq__(''):
 js=js[1]
 path='无水印/'
 else:
 js=js[4]
 path='图虫创意/'
 print(js)
 pattern = re.compile(r'window.hits = (\[)(.*)(\])')
 va = pattern.search(str(js)).group(2)#解析js内容
 print(va)
 va = va.replace('{', '{').replace('}', '},,')
 print(va)
 va = va.split(',,,')
 print(va)
 index = 1
 for data in va:
 try:
 dict = json.loads(data)
 print(dict)
 imgname='img2/'+path+text+'/'+dict['title']+str(index)
 index+=1
 mkdir('img2/'+path+text)
 imgid=dict['imageId']
 downloadimage(imgid,imgname)
 except Exception as e:
 print(e)
if __name__ == '__main__':
 num=input("高质量大图带水印输入1,普通不带水印输入2:")
 num=int(num)
 free=''
 if num==2:
 free='free/'
 text = input('输入关键词:')
 getText(text,free)

这样,整个流程就完成了,在使用方面,先输入1或2(1代表有水印高质量图,2代表共享图),在输入关键词即可批量下载。

如何使用python批量下载图片

感谢各位的阅读!看完上述内容,你们对如何使用python批量下载图片大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注创新互联行业资讯频道。


网站标题:如何使用python批量下载图片-创新互联
分享链接:http://bjjierui.cn/article/dgegcs.html

其他资讯