我想跟踪我的site.For的所有访问者( Os,浏览器和更多细节),我正在保存用户代理和URL和其他基本数据到database.Later执行Crone时,用户代理被分析并获取浏览器,Os。但我想识别爬虫(因为它们不能被视为访问者)。那么有没有办法从用户代理中识别爬虫呢?爬虫的用户代理是否遵循任何常见的模式?
发布于 2012-06-12 19:54:37
您可以通过用户代理或IP (子网)来标识它们。
第一种方法是不可靠的,因为任何人只要修改User-Agent就可以识别为任何爬虫。第二种方法显然更好。
这是网络上众多列表中的两个: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-12 19:46:57
对任何重要的事情使用User-Agent字符串都是不可靠的,也不是一个好主意。
任何恶意的爬虫程序都可能发送流行浏览器的UA字符串。正确的搜索引擎爬虫将总是发送一个可识别的UA字符串,但没有什么可以阻止我将我的web浏览器配置为伪装成这些爬虫之一。
如果必须这样做,请参见get_browser()和返回的值的crawler元素。
发布于 2012-06-12 19:55:27
该Web Robots Page包括一个list of known crawlers/robots,该are包括用户代理模式,该用户代理模式可用于标识行为良好(并且在数据库中列出)的已知机器人。
但正如DaveR所说,很难阻止无视规则的人,而且并不是每个爬虫都在robotstxt.org数据库中。
https://stackoverflow.com/questions/10995804
复制相似问题