鱼C论坛

 找回密码
 立即注册
查看: 2330|回复: 13

~~~~(>_<)~~~~新手帮别人解答问题,但是被新的问题难到了

[复制链接]
发表于 2017-3-12 20:08:06 | 显示全部楼层 |阅读模式

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

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

x
我是一个新手,今天在论坛上看到一个求助帖,本着助人为乐的心态,去帮他把程序改了改,结果产生新的问题,下载的图片有时候是正常的,但更多的是1KB大小。 原贴链接:这个爬虫总是报错,请大神帮帮忙
http://bbs.fishc.com/thread-84061-1-1.html
(出处: 鱼C论坛)
下面是我的代码,在pycharm上运行的:
  1. #coding=utf-8
  2. import urllib
  3. import re
  4. url = 'http://jandan.net/ooxx'
  5. page = urllib.urlopen(url)
  6. html = page.read()
  7. #print html
  8. req = r'<img src="//(.*?)" />'
  9. reg = re.compile(req)
  10. img_addrs = re.findall(reg,html)
  11. print img_addrs
  12. for i in xrange(0,len(img_addrs)):
  13.     img_addrs[i] = "http://"+img_addrs[i]
  14. print img_addrs
  15. t = len(img_addrs)
  16. print t
  17. x = 1
  18. for img_url in img_addrs:
  19.     try:
  20.         urllib.urlretrieve(img_url,'%s.jpg' %x)
  21.         x+=1
  22.         print "下载完成第%d张图片:%s" %(x,img_url)
  23.     except Exception, e:
  24.         print "下载图片失败:%s" %(img_url)
  25. print '报告:下载完成!'
复制代码

新手求大神帮忙。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-3-12 20:11:01 | 显示全部楼层
@猥琐不是错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-12 20:45:11 | 显示全部楼层
╮(╯▽╰)╭,我重新用request模块写了个,urlli模块不太会用。
  1. #coding=utf-8
  2. import re
  3. import requests
  4. url = 'http://jandan.net/ooxx'
  5. html = requests.get(url).text
  6. pic_url = re.findall(r'<img src="//(.*?)" />',html,re.S)
  7. print pic_url #测试正则表达式是否成功
  8. for i in xrange(0,len(pic_url)):
  9.     pic_url[i] = "http://"+pic_url[i]
  10. print pic_url #测试是否获取到图片链接
  11. t = len(pic_url)
  12. print t #图片的数量
  13. i = 0
  14. for each in pic_url:
  15.     try:
  16.         pic= requests.get(each, timeout=10)
  17.     except requests.exceptions.ConnectionError:
  18.         print '【错误】当前图片无法下载'
  19.         continue
  20.     string = '%s.jpg' %i
  21.     fp = open(string,'wb')
  22.     fp.write(pic._content)
  23.     fp.close()
  24.     i += 1
  25. print '下载完成'
复制代码

这个是成功的。但是为嘛urllib下载的是1KB。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-3-13 10:14:42 | 显示全部楼层
本帖最后由 lumber2388779 于 2017-3-13 10:25 编辑
文明的读书人 发表于 2017-3-12 20:45
╮(╯▽╰)╭,我重新用request模块写了个,urlli模块不太会用。

这个是成功的。但是为嘛urll ...


复制你的代码测了下
发现xrange(0,len(pic_url)):这里写错了range吧
去掉后我下载是正常的 图片基本都正常可以访问,你是不是网速问题,还是防火墙的问题
我是直接用python本身的idle运行的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-13 13:40:21 | 显示全部楼层
lumber2388779 发表于 2017-3-13 10:14
复制你的代码测了下
发现xrange(0,len(pic_url)):这里写错了range吧
去掉后我下载是正常的 图片基本 ...

xrange与range没啥区别。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-13 14:18:57 | 显示全部楼层
文明的读书人 发表于 2017-3-13 13:40
xrange与range没啥区别。。。

我用的是3.6版本xrange被取消了 我运行是没有问题的 下载一切正常
你试下用python原生的idle试下下载正常否
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-13 16:04:13 | 显示全部楼层
估计是我的网络有问题 我用3.6的idle运行了一下。。。
搜狗截图17年03月13日1601_1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-13 16:16:23 | 显示全部楼层
本帖最后由 deadofpeople 于 2017-3-13 16:27 编辑

是不是你ip被jandan封了,试试设置user-agent,设置间隔时间下载看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-13 16:22:32 | 显示全部楼层
deadofpeople 发表于 2017-3-13 16:16
是不是你ip被jandan封了,试试价格user-agent,设置间隔时间下载看看

ip被封了,不可能吧,我用另外一个程序,也就是二楼的那个程序,能爬取,同一台电脑。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-13 16:30:50 | 显示全部楼层
正常,python2.7
QQ截图20170313162952.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-13 16:44:45 | 显示全部楼层

哪种方法,用没用user-agent
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-13 16:50:30 | 显示全部楼层
文明的读书人 发表于 2017-3-13 16:44
哪种方法,用没用user-agent

就是你贴的程序,urllib
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-13 16:55:25 | 显示全部楼层
为嘛我只能下载1KB,早知道我就用python2的idle试试,上面那位仁兄用python3的idle试的,我也用3,为了兼容,又重新修改程序。。。心累,还是下载不了。。。
我估计是我网络问题,但具体是什么,由什么产生还是不懂。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-13 22:28:23 | 显示全部楼层
本帖最后由 lumber2388779 于 2017-3-13 22:46 编辑
文明的读书人 发表于 2017-3-13 16:55
为嘛我只能下载1KB,早知道我就用python2的idle试试,上面那位仁 ...


你检查下你的电脑防火墙是不是打开了 或者是不是有什么杀毒软件给管控了
我在家在公司都可以 中间貌似有一张只有1.69K其他都是正常
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-23 16:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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