python爬虫批量下载图片

您所在的位置:网站首页 python爬虫图片下载路径怎么设置 python爬虫批量下载图片

python爬虫批量下载图片

2023-10-10 07:26| 来源: 网络整理| 查看: 265

使用python的urllib库和正则表达式爬取 学习地址(自行base64解密):aHR0cDovL3BpYy5uZXRiaWFuLmNvbQ== 网站图片,支持批量下载。

(本文仅供学习交流,请勿商用,侵删)

1.可选择图片类型、下载那几页。

2.源代码

""" 功能:批量下载网站图片 时间:2019-5-18 16:14:01 作者:倚窗听雨 """ import urllib.request import re import os headers = { "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Safari/537.36", } tempList = ["pic","netbian","com"] ur = f"http://{'.'.join(tempList)}" url_list = [] #获取各类型图片url def picture(url): res = urllib.request.Request(url,data=None,headers=headers) html = urllib.request.urlopen(res).read().decode('gbk') pic = re.findall(r'')[-2][:-2] total += download(href,name) t = t[end_li.end():] print('\n下载完成,共下载{}张图片'.format(total)) #下载图片 def download(url,name): res = urllib.request.Request(url, headers=headers) html = urllib.request.urlopen(res).read().decode('gbk') down_url = re.search(r'.+',html).group() down_url = ur + re.split('"',down_url)[5] try: data = urllib.request.urlopen(down_url,timeout=10).read() except Exception as e: print(e,'跳过此图片:'+name+'.jpg') return 0 t = -1 #img目录不存在自动创建 if not os.path.exists('img'): os.makedirs('img') #该文件不存在时才下载(存储位置可自行修改,现在存在当前目录的img目录下) if not os.path.exists('img\\'+name+'.jpg'): with open('img\\'+name+'.jpg','wb')as f: f.write(data) print(name+'.jpg'+"\t\t下载成功") t = 1 else: print(name + '.jpg' + "\t\t已存在") t = 0 return t #主程序 def main(): picture(ur) print('4k图片网欢迎您'.center(20,'*')) for i,v in enumerate(url_list): print("{}、{}".format(i+1,v['title'])) while True: try: t = int(input('要下载的图片类型(序号):')) if t not in range(1,13): raise IndexError break except ValueError: print('请输入正确的序号!') except IndexError: print('请输入正确的序号!') get_pic(url_list[t-1]['href']) if __name__ == '__main__': main()

存储位置可自行修改,现在存在当前目录的img目录下

声明:初次学习爬虫,还有诸多不足,大神勿喷。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3