网站可以通过哪些方式阻止网络抓取工具?如何确定您的服务器是否被机器人访问?
简单的机器人无法从 Flash、图像或声音中删除文本。
不幸的是,您的问题类似于人们问如何阻止垃圾邮件。没有固定的答案,它不会阻止持续存在的某人/机器人。
但是,这里有一些可以实现的方法:
您可以使用 robots.txt 来阻止注意到它的机器人(但仍然允许通过其他已知实例,例如谷歌等) - 但这不会阻止那些忽略它的机器人。 您也许可以从 Web 服务器日志中获取用户代理,或者您可以更新代码以将其记录在某处。 如果您希望阻止特定用户代理访问您的网站,只需返回空/默认屏幕和/或特定服务器代码即可。
我不认为有一种方法可以完全满足您的需要,因为在网站爬虫/抓取器中,您可以在请求页面时编辑所有标头,例如用户代理,并且您将无法识别是否存在来自 Mozilla Firefox 的用户或只是一个爬虫/爬虫...
抓取工具在某种程度上依赖于页面加载之间标记的一致性。如果您想让他们的日子不好过,请想出一种方法来提供不同请求之间更改的标记。
“不良行为”之类的内容可能会有所帮助:http://www.bad-behavior.ioerror.us/
来自他们的网站:
Bad Behaviour 旨在集成到您基于 PHP 的网站中,尽早运行,以便在垃圾邮件机器人有机会用垃圾邮件破坏您的网站,甚至抓取您的页面中的电子邮件地址之前将其剔除。以及需要填写的表格。
“不良行为”不仅可以阻止对您网站的实际破坏,还可以阻止许多电子邮件地址收集器,从而减少垃圾邮件,并阻止许多自动化网站破解工具,有助于提高您网站的安全性。