|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Stubborn 于 2019-1-27 16:12 编辑
如果本贴可以给鱼油学习帮助,或者觉得不错请动动指头,帮忙评分,顶帖,非常感谢!默默为这个网址默哀三分钟
大致的多线程内容,等明天我会再修改下
先贴上一段踩坑代码(修正在83-101行代码,有注释,不懂或有有疑惑,可以在评论区留言会一回复):
- def save_img(self,img_number,img_url,title):
- "图集下载"
- headers = {
- 'User-Agent': ua.random,
- 'Referer': 'http://i.meizitu.net'
- }
- for i in range(1,int(img_number)+1):
- img_subset_url = img_url + "/%s" % i
- img_url = etree.HTML(requests.get(img_subset_url,headers=headers).text)
- img_save_url = img_url.xpath('//div[@class="main-image"]/p/a/img/@src')[0] #图片下载地址
- img_name = '%s\\' % title + img_url.split('/')[-1]
- #开始下载图片
- response = requests.get(img_save_url, headers=headers)
- with open(img_name,"wb") as f:
- f.write(response.content)
复制代码
为什么说这段代码坑呢,所有的图片下载地址都 解析OK,在保存本地前,所有的参数都正常传递,但是但是,一开始保存就出bug,for不会进行循环,导致数据不能支持下载保存。有兴趣的鱼油可以思考下,为什么会这样,修正之后为什么可以了?本贴过些天会详细讲解下,这个爬虫案例。重新修改帖子。经过反复测试,最终OK了,可以正常运行下载保存图片。本人也是看了一个是学习视频,做了这个爬虫。参考了@四点好 这个鱼友爬虫代码,最终OK了,首先说明下代码需要用到的库:有安装lxml库的朋友,确定自己的库带etree模块
- import requests,threading,os
- from fake_useragent import UserAgent
- from queue import Queue
- from lxml import etree
复制代码
代码如下:(把PY文件放在需要下载保存的目录)
|
评分
-
查看全部评分
|