爬虫在运行一段时间后开始不断获得504的StatusCode,是否是对方站点的反爬虫策略导致?有何回避策略?

老滚的笼中鼠
  • 327

最近初学用Python写网页爬虫视图扒取一个站点上的特定数据。

最近碰到的一个现象是,当爬虫运行了一段时间后(根据Fiddler抓包的结果来看,大概是发送了将近3万个http请求后),爬虫的获取的http响应的StatusCode骤然都变成了 504, 之后就再也获取不到200的响应了。

想请教一下各位大神,这种现象是否是由于扒取对象的站点的反爬虫策略造成的?

如果是的话,有什么常用的回避策略么?

P.S.
还注意到一个现象,不知与上述现象是否有关,一并描述:
即当爬虫的响应变成504之后,发现我的浏览器的代理选项被自动勾上了,如下所示:

代理设置被更改后的示意

回复
阅读 6.2k
6 个回答

代理选项被勾选,是fiddler造成的。以前经常使用fiddler抓包,一段时间后,不能访问网络,去掉勾选代理选项,就解决问题了

可以关注一下我写的一个开源组件,设置一个代理服务器池,防止反爬虫策略的屏蔽,并进行了自动调节请求频率,处理异常请求,优先选取响应快的代理。https://github.com/letcheng/ProxyPool

爱吃猫的_鱼
  • 2
新手上路,请多包涵

1.代理

2.模拟完全的请求

3.合理的间隔

4.adsl断线重拨

通过代理去访问试试

为什么这个问题的答案是这样的,50x错误在于网站本身啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏