阻止网络刮板

时间:2010-08-05 07:06:09

标签: screen-scraping web-crawler scraper

网站阻止网络抓取工具的方式有哪些?如何确定机器人是否正在访问您的服务器?

6 个答案:

答案 0 :(得分:4)

  • 验证环节
  • 不到一秒钟提交的表格
  • 隐藏(通过css)字段获取表单提交期间提交的值
  • 频繁访问页面

简单的机器人无法从闪光灯,图像或声音中删除文字。

答案 1 :(得分:2)

不幸的是,您的问题与询问如何阻止垃圾邮件的人类似。没有固定的答案,也不会阻止持久的某人/机器人。

但是,这里有一些可以实现的方法:

  1. 检查用户代理(虽然这可能是欺骗性的)
  2. 使用robots.txt(正确的机器人会 - 希望尊重这一点)
  3. 检测访问大量页面的IP地址(每隔“x”秒)。
  4. 手动或在系统中创建标记,以检查您的网站上的所有人,以及阻止刮刀采取的某些路线。
  5. 不要在您的网站上使用标准模板,并创建通用的CSS类 - 并且不要在代码中添加HTML注释。

答案 2 :(得分:1)

你可以使用robots.txt阻止机器人注意它(但仍然通过其他已知的实例,如谷歌等) - 但这不会阻止那些忽略它的人。您可以从Web服务器日志中获取用户代理,也可以更新代码以将其记录在某处。如果您希望阻止特定用户代理访问您的网站,只需返回空/默认屏幕和/或特定服务器代码。

答案 3 :(得分:0)

我认为没有办法完全满足您的需求,因为在网站抓取工具/抓取工具中,您可以在请求页面时编辑所有标题,例如User-Agent,您将无法识别是否有一个来自Mozilla Firefox的用户或只是一个刮刀/爬虫...

答案 4 :(得分:0)

Scrapers在某种程度上依赖于从页面加载到页面加载的标记的一致性。如果你想让他们的生活变得困难,想出一个根据要求提供改变标记的方法。

答案 5 :(得分:0)

“不良行为”之类的内容可能有所帮助:http://www.bad-behavior.ioerror.us/

从他们的网站:

错误行为旨在集成到基于PHP的网站中,尽早运行垃圾邮件机器人,然后他们有机会用垃圾破坏您的网站,甚至刮掉您的网页要填写的电子邮件地址和表格。

不良行为不仅阻止了对您网站的实际破坏行为,还阻止了许多电子邮件地址收集者,导致电子邮件垃圾邮件减少,以及许多自动化网站破解工具,提高您网站的安全性。