Builtwith.com和类似的服务(收费)提供了使用SalesForce或NationBuilder等特定技术构建的域列表。有一些技术,我感兴趣的,与建设不扫描,可能是因为他们太小的市场存在。
如果我们知道某个网页的某些签名显示了一种技术是用于一个网站,什么是最好的方式来识别尽可能多的这些网站?我们预计有1000个网站,我们感兴趣的是那些排名前一千万的网站。(我们不认为最大的网站使用这种技术。)
我有一个开源网络爬虫列表-- http://bigdata-madesimple.com/top-50-open-source-web-crawlers-for-data-mining/ --但是我的用例似乎与爬虫的许多常规标准不同,因为我们只想保存带有这个签名的域的“点击”。所以我们不需要太快,但我们确实需要检查所有的网页,直到找到一个命中,只使用负责任的爬行练习,等等。什么是最好的?
或者不是调整爬虫和运行,而是有办法让谷歌或其他搜索引擎寻找网页特征,而不是用户可见的内容,这将是一个更好的方法?
发布于 2017-03-28 09:49:44
你确实可以调整一个开源的网络爬虫。您发布的链接提到了大量的资源,但是一旦删除了那些未维护的和未分发的资源,您将不会有太多的资源。根据定义,您不知道哪些网站包含您要查找的签名,因此您必须获得前1000万个站点的列表并对其进行抓取,这是一项实质性的操作,但使用Apache或StormCrawler (未列出您发布的链接)之类的工具是绝对可行的。我是Nutch的提交人,也是SC的作者。
另一种更便宜、更快的方法是对CommonCrawl数据集进行处理。他们每月提供大型网络抓取数据,并为你做网络爬行工作--包括礼貌等.当然,他们的数据集将不会有一个完美的覆盖,但这是最好的,如果你要运行爬行自己。这也是一个很好的方式来检查您的初始假设和代码,以检测签名上非常大的数据。我通常建议在开始网络大小的爬行之前处理CC。CC网站包含有关库和处理它的代码的详细信息。
大多数人,包括我自己,当我为我的客户处理CC时,都是用MapReduce实现这个处理,并在AWS上运行它。当然,成本取决于处理的复杂性,但是硬件预算通常是数百个$。
希望这能有所帮助
编辑:DZone已经重新发表了我的一篇关于使用CommonCrawl的博客文章。
https://stackoverflow.com/questions/43058874
复制相似问题