当前位置:  开发笔记 > 编程语言 > 正文

确定采用技术构建的最佳爬虫?

如何解决《确定采用技术构建的最佳爬虫?》经验,为你挑选了1个好方法。

Builtwith.com和类似的服务(收费)提供使用特定技术(例如SalesForce或NationBuilder)构建的域的列表。我对某些buildwith感兴趣的技术不扫描,可能是因为它们在市场上的份额太小。

如果我们知道某个网站使用了某些揭示技术的页面签名,那么最好的方法是识别尽可能多的网站?我们预计会有1000个,并且我们对按点击量排名前1000万的网站感兴趣。(我们不认为最大的站点使用此技术。)

我有一个开放源代码网络爬虫列表-http: //bigdata-madesimple.com/top-50-open-source-web-crawlers-for-data-mining/-但我的用例似乎与许多常规条件不同对于抓取工具,因为我们只想使用此签名保存域名的“匹配数”。因此,我们不需要太快,但是我们需要检查网站的所有页面,直到找到匹配为止,仅使用负责任的爬网做法,等等。什么是最好的?

或者,除了调整爬虫并运行它之外,还有没有办法让Google或其他搜索引擎查找页面特征,而不是用户可见的内容呢?



1> Julien Nioch..:

您确实可以调整开源Web搜寻器。您发布的链接提到了大量的资源,但是一旦删除了那些没有维护的资源和那些没有分发的资源,您将不会有很多资源。根据定义,您不知道哪个站点包含要查找的签名,因此您必须获取前1000万个站点的列表并对其进行爬网,这是一项艰巨的操作,但是绝对可以使用诸如Apache Nutch或StormCrawler(在您发布的链接中未列出)[免责声明,我是Nutch的提交者和SC的作者]

另一种更便宜,更快捷的方法是处理CommonCrawl数据集。他们每月提供大型的Web爬网数据,并为您完成爬网的工作-包括礼貌等。当然,他们的数据集覆盖面并不理想,但这与您得到的一样好如果您自己运行抓取。这也是检查您的初始假设和用于检测非常大的数据签名的代码的好方法。我通常建议在开始进行Web大小的爬网之前先处理CC。CC网站包含有关库和处理它的代码的详细信息。

大多数人(包括我为客户处理CC时所做的我)所做的就是使用MapReduce实施该处理并在AWS EMR上运行它。当然,成本取决于处理的复杂性,但是硬件预算通常在数百美元中。

希望这可以帮助

编辑:DZone此后重新发布了有关使用CommonCrawl的博客文章之一。

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有