我想跟踪我网站的所有访问者(操作系统、浏览器和更多详细信息)。为此,我将用户代理和 URL 以及其他基本数据保存到数据库中。稍后在执行 Crone 时,分析用户代理并获取浏览器、操作系统. 但我想识别爬虫(因为它们不能被视为访问者)。那么有什么方法可以从用户代理中识别爬虫。爬虫的用户代理是否遵循任何常见的模式?
问问题
1268 次
3 回答
2
您可以通过User-Agent或IP(子网)来识别它们。
第一种方法不可靠,因为任何人都可以识别为任何仅修改 User-Agent 的 Crawler。第二种方法显然更好。
以下是网络上众多列表中的两个:http ://www.user-agents.org/ (参见图例:R = 机器人、爬虫、蜘蛛)- http://www.robotstxt.org/db.html
另一个:http ://www.karavadra.net/blog/2010/list-of-crawlers-bots-and-their-ip-addresses/
于 2012-06-12T11:54:36.920 回答
1
Web 机器人页面包括一个已知爬虫/机器人列表,其中包括用户代理模式,可用于识别行为良好的已知机器人(并在数据库中列出)。
但正如 DaveR 所说,无视规则的人很难阻止,而且并不是每个爬虫都在 robotstxt.org 数据库中。
于 2012-06-12T11:55:26.860 回答
1
将User-Agent
字符串用于任何重要的事情都是不可靠的,也是一个坏主意。
任何恶意爬虫都可能会发送流行浏览器的 UA 字符串。适当的搜索引擎爬虫将始终发送可识别的 UA 字符串,但没有什么可以阻止我配置我的网络浏览器以假装是这些爬虫之一。
如果您必须这样做,请查看get_browser()
和crawler
返回值的元素。
于 2012-06-12T11:46:57.363 回答