如何让爬虫一天抓取 100 万张网页

2019-05-13 17:20:44 +08:00
 bighead22

大规模数据抓取好文分享一篇,文章对设计一个单机定向日抓取百万网页的爬虫,进行了较为细致的阐述。 对日抓取百万量级,合计一亿张网页的爬虫, 在内存策略,硬盘存储策略,海量数据去重,网络性能优化方面给予了实操性很强的方案。 https://www.yuanrenxue.com/crawler/high-performance-crawler.html

4829 次点击
所在节点    Python
19 条回复
deepall
2019-05-13 17:33:35 +08:00
大佬大佬
est
2019-05-13 17:36:21 +08:00
> 不过奇怪,bloom 里没有公有方法来判断 URL 是否重复,我用的__contains__()方法,也可能是我没用对,不过判重效果是一样的。


大佬大佬。
Northxw
2019-05-13 17:38:15 +08:00
给大佬递咖啡
bighead22
2019-05-13 17:43:00 +08:00
@Northxw 瑞幸 哈哈
laucie
2019-05-13 17:49:52 +08:00
给大佬捏腿
shyrock
2019-05-13 19:27:47 +08:00
围观大佬,学习 ing
CloudMx
2019-05-13 21:18:21 +08:00
Ping 没必要发送四次,可以自主设置。
Win: -n NUMBER
Linux: -c NUMBER
strugglexiang
2019-05-14 09:24:19 +08:00
递咖啡
zarte
2019-05-14 10:09:34 +08:00
说两点用 go 来替代,你那去除不需要的页面头部功能效率提高 n 倍,除非能不用 chrome 的驱动自己实现一套才有可能比别人开发的效率高。
bighead22
2019-05-14 11:32:05 +08:00
@CloudMx 是的,这个方法可以
liuxu
2019-05-14 11:38:11 +08:00
直接提取内容比直接拿 body 更好吧,body 里面有很多不需的 html 标签
foolisheddy
2019-05-14 12:50:42 +08:00
分析详尽,学习了!
bighead22
2019-05-14 14:09:19 +08:00
@liuxu 嗯,也可以这样。根据项目的选择来。 有的需要原始数据。另外直接提取有可能某些 html tag 确实 或者匹配规则没考虑周全,可能会大面积出现提取错误
caneman
2019-05-14 14:47:03 +08:00
如果单 IP 你爬不了 100+就被 ban 了,效率直线下降。
AmberJiang
2019-05-15 10:40:20 +08:00
谢谢大佬分享 学习了 最近也正卡在这里
bighead22
2019-05-15 10:49:56 +08:00
@caneman 反爬不错的网站,单 ip 爬不到这么多次。 降低单 IP 的单位时间抓取次数,有可能爬这么多。 但是这样单 IP 的抓取效率就太低了
caneman
2019-05-15 17:39:15 +08:00
@bighead22 靠 ADSL 拨号来切 IP,可能有一部分站在完美的理想状况下确实按你的方法能达到日抓百万。

但是大多数能够产生有利用价值数据的网站,这种方法都不太能实现单机日抓百万,

IP 切换开销 6S 一次,太久了。。
dtjydsre
2019-05-16 00:02:35 +08:00
学习了

最近就在爬一个网站,大概有 1 亿个网页
感觉主要限制还是在于网站的反爬,而且它的反爬是一封就封 2-3 个月的那种
考虑稳定可靠,买了动态 IP 地址池,一个月 1000 块的样子
代理限制了最大 40 的 QPS,一天能爬差不多 300 多 W 的页面下来
foxyier
2019-05-16 16:04:03 +08:00
get,tks

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

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

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

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

© 2021 V2EX