确定使用技术构建的最佳爬虫程序?

时间:2017-03-28 00:55:58

标签: web-crawler

Builtwith.com和类似服务提供(收费)使用SalesForce或NationBuilder等特定技术构建的域名列表。我感兴趣的一些技术是内置的,不会扫描,可能是因为它们的市场规模太小。

如果我们知道显示某项技术的网页的某些签名用于某个网站,那么识别这些网站的最佳方式是什么?我们预计会有1000个,而且我们对前10M网站的流量感兴趣。 (我们不认为最大的网站使用这项技术。)

我有一个开源网络抓取工具列表 - http://bigdata-madesimple.com/top-50-open-source-web-crawlers-for-data-mining/ - 但我的用例似乎与抓取工具的许多常规标准不同,因为我们只想保存'点击'具有此签名的域名。所以我们不需要快速,但我们确实需要检查网站的所有页面,直到找到命中,只使用负责任的爬行实践等。什么是最好的?

或者不是调整一个抓取工具并运行它,有没有办法让谷歌或其他搜索引擎找到页面特征而不是用户可见的内容,这是一种更好的方法?

1 个答案:

答案 0 :(得分:4)

您确实可以调整一个开源网络爬虫。您发布的链接提到了大量资源,但是一旦删除了未维护的链接和未分发的链接,您将不会留下很多资源。根据定义,您不知道哪些网站包含您正在寻找的签名,因此您必须获取前10M网站的列表并抓取它们,这是一项实质性操作,但它绝对可以使用Apache Nutch或StormCrawler等工具(未在您发布的链接中列出) [免责声明我是Nutch的提交者和SC的作者]

另一种更便宜,更快捷的方法是处理CommonCrawl datasets。他们每月提供大型网络抓取数据,并为您抓取网页的工作 - 包括礼貌等等......当然,他们的数据集不会有完美的覆盖范围,但这和您一样好# 39;如果你自己开始爬行,那就得到了。它也是检查初始假设和检测非常大数据签名的代码的好方法。我通常建议在开始进行网络规模的抓取之前处理CC。 CC网站包含有关库和处理它的代码的详细信息。

当我为客户处理CC时,大多数人所做的事情,包括我自己,都是使用MapReduce实现处理并在AWS EMR上运行。当然,成本取决于处理的复杂程度,但硬件预算通常在数百美元。

希望这有帮助

编辑:DZone已经重新发布了一篇关于使用CommonCrawl的博文。