爬虫抓取速度自适应问题

2016-05-18 19:17:44 +08:00
 SlipStupig
之前都是抓取大型网站,现在抓取一些小型网站,出现把对方给抓死了(并发数 100 多吧),有什么办法能让抓取速度能够自适应,比如:对方是淘宝,开足马力去抓,如果对方是个小网站,能自动测出一个最合适的请求速度去抓取
6454 次点击
所在节点    Python
47 条回复
am241
2016-05-19 15:38:32 +08:00
延迟上一次的响应时间
binux
2016-05-19 15:49:22 +08:00
连查一下 Alexa 都会流量浪费,存 100 万都成本高。。你资源到底多么少啊。。我怀疑你根本没能力给一个非共享的正经网站抓挂了。
看来我一开始就问你有多少时间和资源真是问对了。
SlipStupig
2016-05-19 17:45:35 +08:00
@binux 首先感谢你积极的回复,你这种质疑我本来不想回你的,因为你怀疑我有没能力没任何意义。
我只是想知道用什么算法或者一些其它比较好的方法会比较好,我认为这种碎片化的方案带来额外的查询和存储,如果所有的功能都是这种零散代码维护起来我不认为会有什么好,所以这种显然不是最优的方案带来的额外付出,在我看来多少都是浪费。
wweir
2016-05-19 18:00:27 +08:00
好久没搞爬虫了,不着能从 TCP/http 的角度解决这个问题,绝对是大大的支持。先 mark 一下。

顺便提下,正常的 http 包头都有时间戳,可以通过解析时间戳冲某种成都上得出网站的相应速度。
binux
2016-05-19 18:12:03 +08:00
@SlipStupig 压力控制和挖掘本来就可以独立为一个或者多个模块,你居然称之为「零散代码」,你的系统到底有多小?

既然你说你的爬虫「功能跟百度蜘蛛一样」,我告诉你的第一个方案就是「百度蜘蛛」所用的。
当然,根据你爬虫的规模,可以使用简化的方法。但是根据是否需要快启动,你手头永远的数据,是否要防 ban ,你永远的 ip 池大小,以及你要达到的效果;方法实在是太多。你是否真的想清楚了?
donglemon
2016-05-19 18:18:33 +08:00
anyforever
2016-05-20 09:04:55 +08:00
@SlipStupig 他们起码会反馈流量回来给你。算的上互惠互利。

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

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

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

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

© 2021 V2EX