网站如何检测自动提取?

时间:2012-02-08 20:58:48

标签: java url iostream

我正在开发一个简单的应用程序来从网站上提取一些货币转换,当我收到一条错误消息(下面),说明他们没有自动提取政策。

禁止自动提取
禁止自动提取我们的内容。见http://www.xe.com/errors/noautoextract.htm

我并不打算违反他们的政策,但我很好奇他们如何分辨。谁能开导我?

4 个答案:

答案 0 :(得分:2)

1)User-Agent

2)介绍Javascript弹出窗口。类似Click OK to enter

3)如果您不在NAT之后,计算特定IP地址的请求/小时数。

有关详细信息,请参阅 asheesh laroia 查看此Pycon演讲web-strategies-for-programming-websites-that-don-t-expected-it

另请查看A Standard for Robot Exclusion

有些网站也使用

4)Captchas和Re-Captchas

5)重定向,这意味着您需要添加HTTP Referrer来获取数据。

答案 1 :(得分:1)

通过实施Robot Exclusion protocol在HTTP Server级别完成。

来自Robots exclusion standard

  

机器人排除标准,也称为机器人排除标准   Protocol或robots.txt协议,是一种防止的约定   合作的网络爬虫和其他网络机器人访问所有或   公开可见的网站的一部分。机器人是   搜索引擎经常使用它来分类和存档网站,或   由网站管理员校对源代码。

答案 2 :(得分:1)

我认为他们至少看到两个参数:

  • 时间间隔内来自同一IP的查询数
  • HTTP查询中的User-Agent标头。如果它是空的,或者它看起来不像是Web浏览器的User-Agent标头,特别是如果它指示" Java"或类似的东西;),他们可以假设它不是一个合理的用途"。

答案 3 :(得分:0)

基本上,如果你请求一个URL并且你得到了HTML页面,那么网站几乎没有什么可以做的 - 而且,这就是网络服务器的用途。

但是,与请求该页面的人相比,有几个techniques可以阻止僵尸程序。其中一些是机器人的“行为”提示,其他人试图检测机器人并停止它。