我正在创建一个简单的爬虫,它将从预定义的站点列表中抓取。我的问题很简单:有没有爬虫应该特别使用的http头?什么被认为是必需的,什么是需要定义的?
发布于 2016-11-18 21:49:41
您至少应该指定一个自定义用户代理(就像这里的StormCrawler所做的那样),以便您正在爬行的站点的站长可以看到您是机器人,并在需要时与您联系。
更重要的是,爬虫应该遵循robots.txt指令,限制对站点的请求频率,等等。这就引出了以下问题:为什么不重用和定制现有的开源爬虫,如StormCrawler,Nutch或Scrapy,而不是重新发明轮子?
发布于 2017-07-27 15:23:27
告诉你你是谁,你的意图,以及如何与你取得联系是很好的。我记得在运行一个站点并查看Apaceh的access.log时,以下信息实际上有一个任务(就像StromCrawler代码中列出的一些信息):
如果你查看Request fields,你会发现两个你感兴趣的:User-Agent和from。第二个是电子邮件地址,但我最后检查了一下,它没有出现在Apache2的access.log中。automated agents用户代理应包含名称、版本和指向包含有关代理的详细信息的页面的URL。在您的代理名称中使用单词"bot“也是很常见的。
https://stackoverflow.com/questions/40672118
复制相似问题