最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 使用python批量下载图片吗?怎么做?

    正文概述    2020-07-11   302

    没想到吧,我们居然可以用python去下载图片,关于单个下载内容,之前已经出了教程告诉大家,大家应该都知道,图片跟文字似的,经常多个发布,我们如果想得到很多个图片,还得一个代码或者一个图片源的去敲击吗?如果不需要,那又该怎么做呢?

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

    步骤:

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

    2、找到需要下载的图片,在搜索界面查看源码。

    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)

    这样,整个流程就完成,好啦,大家一定要收藏起来,万一哪天需要批量下载图片了,可以直接导出使用哦~非常实用的python技巧,均在python学习网。


    下载网 » 使用python批量下载图片吗?怎么做?

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元