鱼C论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 2759|回复: 125

[作品展示] 我胡汉三又回来了,这次给鱼油带来多线程爬虫案例,以及踩过的深坑

  [复制链接]
最佳答案
49 
发表于 2019-1-27 05:01:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 Stubborn 于 2019-1-27 16:12 编辑

如果本贴可以给鱼油学习帮助,或者觉得不错请动动指头,帮忙评分,顶帖,非常感谢!默默为这个网址默哀三分钟
大致的多线程内容,等明天我会再修改下
先贴上一段踩坑代码(修正在83-101行代码,有注释,不懂或有有疑惑,可以在评论区留言会一回复):
  1.     def save_img(self,img_number,img_url,title):
  2.         "图集下载"
  3.         headers = {
  4.             'User-Agent': ua.random,
  5.             'Referer': 'http://i.meizitu.net'
  6.         }
  7.         for i in range(1,int(img_number)+1):
  8.             img_subset_url = img_url + "/%s" % i
  9.             img_url = etree.HTML(requests.get(img_subset_url,headers=headers).text)
  10.             img_save_url = img_url.xpath('//div[@class="main-image"]/p/a/img/@src')[0]  #图片下载地址
  11.             img_name = '%s\\' % title + img_url.split('/')[-1]
  12.             #开始下载图片
  13.             response = requests.get(img_save_url, headers=headers)
  14.             with open(img_name,"wb") as f:
  15.                 f.write(response.content)
复制代码

为什么说这段代码坑呢,所有的图片下载地址都 解析OK,在保存本地前,所有的参数都正常传递,但是但是,一开始保存就出bug,for不会进行循环,导致数据不能支持下载保存。有兴趣的鱼油可以思考下,为什么会这样,修正之后为什么可以了?本贴过些天会详细讲解下,这个爬虫案例。重新修改帖子。经过反复测试,最终OK了,可以正常运行下载保存图片。本人也是看了一个是学习视频,做了这个爬虫。参考了@四点好 这个鱼友爬虫代码,最终OK了,首先说明下代码需要用到的库:有安装lxml库的朋友,确定自己的库带etree模块
  1. import requests,threading,os
  2. from fake_useragent import UserAgent
  3. from queue import Queue
  4. from lxml import etree
复制代码

代码如下:(把PY文件放在需要下载保存的目录)
游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 7荣誉 +21 鱼币 +18 贡献 +12 收起 理由
dexterpengji + 3 + 2 + 1 鱼C有你更精彩^_^
七不斯 + 5 + 3 + 2 感谢楼主无私奉献!
冬雪雪冬 + 5 + 5 + 5 鱼C有你更精彩^_^
Y0uWill_1Will + 1 + 1 牛啤,告诉我头像番号
秋木叶 + 5 + 5 + 3
四点好 + 2 + 1 + 1 感谢楼主无私奉献!
iwanna + 1 鱼C有你更精彩^_^

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
49 
 楼主| 发表于 2019-1-27 05:12:07 | 显示全部楼层
本帖最后由 Stubborn 于 2019-1-27 05:19 编辑

@iwanna @四点好 给我评分点赞顺便占楼备用  @冬雪雪冬  可以申精吗,过些天准备把此贴改成多线程爬虫案例教学。可以吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
479 
发表于 2019-1-27 08:05:20 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
49 
 楼主| 发表于 2019-1-27 16:09:54 | 显示全部楼层
本帖最后由 Stubborn 于 2019-1-27 16:14 编辑
iwanna 发表于 2019-1-27 12:40
程序运行不了,看不懂你的连接路径的操作,我把94行改了一下


跟新你的吧~还像问一句,想加一个下载进度条,怎么加好~!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2019-1-27 16:30:03 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2019-1-28 09:48:38 | 显示全部楼层
Mark 一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2019-1-28 17:24:12 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
49 
 楼主| 发表于 2019-1-29 01:03:51 | 显示全部楼层
iwanna 发表于 2019-1-27 12:40
程序运行不了,看不懂你的连接路径的操作,我把94行改了一下

我咋觉得多线程要沉帖了,都去看妹子了,标题没有打妹子图嘛~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
49 
 楼主| 发表于 2019-1-29 03:42:48 | 显示全部楼层
iwanna 发表于 2019-1-29 01:17
我的帖子不一样没人看
如果你是以学习为目的写的,何必在意有没有人看.何况也不是什么牛逼项目
你去gi ...

什么网站,我去学习学习下~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2019-1-29 06:41:17 From FishC Mobile | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
1 
发表于 2019-1-29 14:45:21 | 显示全部楼层
hello
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2019-1-29 15:44:25 | 显示全部楼层
感谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2019-1-31 16:25:04 | 显示全部楼层
比个小心心给你
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2019-2-1 15:47:13 | 显示全部楼层
占个楼,以后用到再回来学习,楼主加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
2 
发表于 2019-2-2 08:33:28 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2019-2-2 13:36:37 | 显示全部楼层
膜拜
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2019-2-13 18:38:31 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2019-2-13 19:58:31 From FishC Mobile | 显示全部楼层
可以的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
11 
发表于 2019-2-14 09:00:37 | 显示全部楼层
好用~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2019-2-14 10:51:20 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号

GMT+8, 2019-9-20 19:38

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表