浏览器正常浏览,爬虫出错,都有哪些可能性?

2015-04-03 13:50:48 +08:00
 dedewei
错误信息:
requests.exceptions.ConnectionError: ('Connection aborted.', error(104, 'Connection reset by peer'))

加了headers也不行

这个问题经常出现,浏览器正常,但爬虫不行.
1.想问问都有哪些可能性,遇到时有个线索可去google.
2.模拟浏览器是不是只加headers就行? 是不是模拟成功的话就不会出错(浏览器能正常访问)?
4626 次点击
所在节点    Python
12 条回复
wdd2007
2015-04-03 13:54:27 +08:00
你对比一下浏览器的请求和爬虫请求有哪些不一样的地方?

比如 useragent、比如 cookie?
willsplashing
2015-04-03 13:55:22 +08:00
你确定python发出去的request和Chrome devtool里capture的request一模一样吗?
willsplashing
2015-04-03 13:57:21 +08:00
还有如果你爬虫一下子发很多request有些网站可能会有rate limit
dedewei
2015-04-03 14:01:23 +08:00
@wdd2007
@willsplashing 没有cookie,其他复制粘贴上去了
dedewei
2015-04-03 14:02:18 +08:00
@willsplashing 爬了二十个页面就断了,然后时而行时而不行
ETiV
2015-04-03 14:04:04 +08:00
firebug抓一次浏览器的请求,再用curl模拟提交(firebug有复制curl请求的功能),再一点点精简curl的参数
cxl008
2015-04-03 14:23:26 +08:00
@dedewei 中间断掉的话考虑被对方服务器bang了 增加爬取时间间隔 或是用 分布式部署
withrock
2015-04-03 14:43:16 +08:00
可能和cookie有关,如果不需要登录就可以抓取的话,建议关闭cooke
ps:我也写了个爬虫玩玩,互相学习。
http://git.oschina.net/mktime/scrapy-douban-group
libo26
2015-04-03 16:16:20 +08:00
header与浏览器一致的话多半是频率限制了吧,增加时间间隔/换IP
kkx
2015-04-04 07:06:34 +08:00
用selenium 包治
ioven
2015-04-04 21:09:16 +08:00
burpsuite抓包,对比和浏览器的区别
ming2281
2015-04-08 22:33:48 +08:00
了解一下HTTP协议,然后这些大都知道怎么避免了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/181332

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX