爬虫抓取速度自适应问题

2016-05-18 19:17:44 +08:00
 SlipStupig
之前都是抓取大型网站,现在抓取一些小型网站,出现把对方给抓死了(并发数 100 多吧),有什么办法能让抓取速度能够自适应,比如:对方是淘宝,开足马力去抓,如果对方是个小网站,能自动测出一个最合适的请求速度去抓取
6454 次点击
所在节点    Python
47 条回复
alexapollo
2016-05-18 19:21:44 +08:00
看看 TCP 窗口怎么滑的,非常类似
anexplore
2016-05-18 20:45:23 +08:00
能够礼貌一些吗?
VicYu
2016-05-18 21:13:19 +08:00
stcasshern
2016-05-18 21:14:31 +08:00
想知道对方淘宝,怎么保证开足马力不会被封。。
binux
2016-05-18 21:54:50 +08:00
从简单到复杂有非常多种办法,就看你有多少时间和资源去做这个事情了
em70
2016-05-18 23:04:23 +08:00
用超级 ping 检测,如果一个域名存在多个 IP 就是大站,只有一个 IP 就是小站
SlipStupig
2016-05-19 00:37:39 +08:00
@binux 能说说具体方案吗?
SlipStupig
2016-05-19 00:38:13 +08:00
@anexplore 我哪里有不礼貌的地方,请您指出,我一定改正
binux
2016-05-19 00:39:22 +08:00
@SlipStupig 能说说你有多少时间和资源吗?
SlipStupig
2016-05-19 00:42:02 +08:00
@binux 时间很充足
tSQghkfhTtQt9mtd
2016-05-19 00:43:49 +08:00
@em70 Anycast 哭晕在厕所
SlipStupig
2016-05-19 00:43:49 +08:00
@VicYu 这个是限制整体带宽去跑,我要做的是同时抓取 100 个网站,这 100 个网站的并发数都是不一样的
binux
2016-05-19 00:46:02 +08:00
@SlipStupig 那你可以统计待抓链接量和上一天的平均响应时间,尝试放大并发,一天之后看平均响应时间是否有变化。没有就继续加大。
binux
2016-05-19 00:47:44 +08:00
@binux 响应时间和错误率
SlipStupig
2016-05-19 00:49:04 +08:00
@binux 这个不太现实,我抓取的网站是不固定的,功能跟百度蜘蛛一样,链接是所有网站放在一个队列里面,至于上一天请求,如果我第一次抓取那个网站如何得到上一天请求?
binux
2016-05-19 00:53:34 +08:00
@SlipStupig
分站点统计都做不到吗?
你不是说时间很充足吗。。这点数据积累都没有?遇到新网站的概率才多少。。从一个初始值开始做就行了啊。

所以我问你有多少时间和资源做这件事啊,你看,我给你一个时间很多的方案,你又说不行。
SlipStupig
2016-05-19 01:17:46 +08:00
@binux 每天都又大量新网站,现在已经抓死了好几个站了,基本上不敢抓了
menc
2016-05-19 01:30:04 +08:00
@alexapollo 这位仁兄说的是正解,为什么不借鉴一下呢。
shiny
2016-05-19 01:43:04 +08:00
赞同楼上和一楼
SlipStupig
2016-05-19 02:06:00 +08:00
@menc 感谢,我也在研究看怎么实现
@shiny

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

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

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

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

© 2021 V2EX