我正在开发一个简单的应用程序来从网站上提取一些货币转换,当我收到一条错误消息(下面),说明他们没有自动提取政策。
禁止自动提取
的
禁止自动提取我们的内容。见http://www.xe.com/errors/noautoextract.htm。
我并不打算违反他们的政策,但我很好奇他们如何分辨。谁能开导我?
答案 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级别完成。
机器人排除标准,也称为机器人排除标准 Protocol或robots.txt协议,是一种防止的约定 合作的网络爬虫和其他网络机器人访问所有或 公开可见的网站的一部分。机器人是 搜索引擎经常使用它来分类和存档网站,或 由网站管理员校对源代码。
答案 2 :(得分:1)
我认为他们至少看到两个参数:
答案 3 :(得分:0)
基本上,如果你请求一个URL并且你得到了HTML页面,那么网站几乎没有什么可以做的 - 而且,这就是网络服务器的用途。
但是,与请求该页面的人相比,有几个techniques可以阻止僵尸程序。其中一些是机器人的“行为”提示,其他人试图检测机器人并停止它。