我相信我的刮刀被阻止了,但我可以通过常规浏览器访问该网站,他们怎么能这样做?

时间:2016-06-15 19:43:39

标签: python web-scraping ip-address user-agent

我最近使用requests和BeautifulSoup编写了一个相当简单的scraper。刮刀工作完美,直到有一天,我运行并收到“由同行重置连接,错误54”。尽管有很多关于绕过错误54的问题,但这并不是我想知道的。

要测试是否阻止我的特定IP或计算机,我在不同的计算机和IP地址上运行代码,它运行正常。然而令人不安的是,即使在我的旧机器上,我也可以在常规浏览器上完美访问该网站。

我想知道网站如何能够在不阻止我的IP的情况下完成这项工作,以及是否有人有任何关于在将来避免这种情况的提示。

1 个答案:

答案 0 :(得分:2)

  

我想知道网站是如何做到这一点的,而不会直接阻止我的IP ......

通过检查有关您的请求的所有方式,一些直截了当和一些奥术。直接项目包括用户代理标题,Cookie,正确拼写动态网址。

奥术项目包括您的IP地址,请求的时间,相关请求的频率,其他标题的内容。

  

......如果有人在将来有任何避免这种情况的提示。

是。联系相关网站的所有者并配合他们所拥有的任何限制。检查您使用其网站的许可条款(如果是一般公共许可,通常称为"服务条款")。确保您完全按照这些条款运作。

如果网站数据是通过API提供的,并且您的使用属于API的许可条款,请使用它而不是屏幕抓取。数据格式将更加一致,您的代码运行速度更快,您对网站所有者的负担(或威胁)也会减少。