如何通过PHP识别google / yahoo / msn的网页抓取工具?
作者:互联网
据我所知,
$_SERVER [‘REMOTE_HOST’]应以“google.com”或“yahoo.com”结尾.
但它是最保证的方法吗?
还有其他出路吗?
解决方法:
您可以在user agent and IP address之前识别搜索引擎.更多信息可以在How to identify search engine spiders and webbots中找到.它也值得注意this list.您不应该将用户代理(甚至远程主机)视为必然的确定性.用户代理实际上只不过是另一端告诉你的东西,它当然可以自由地告诉你任何事情.编写代码假装成Googlebot是微不足道的.
在PHP中,这意味着查看$_SERVER [‘HTTP_USER_AGENT’]和$_SERVER [‘REMOTE_HOST’].
有很多搜索引擎,但老实说,这只是你真正关心的大多数搜索引擎.谷歌和雅虎几乎拥有全部市场.但当然这取决于你想要达到的目标.
注意:在内容方面,要非常小心地将搜索引擎与普通用户区别对待(如Joel所说的“邪恶连字符网站”).在特别令人震惊的情况下,这可能会使您的网站从该搜索引擎中删除.即使这种情况没有发生,你也可能会让一些用户离开去网站期待某些东西.如果他们出现了“请注册以查看此文章”框,那么请抓住您的高跳出率.
标签:php,web-crawler 来源: https://codeday.me/bug/20191004/1853954.html