首頁  >  問答  >  主體

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

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

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

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

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

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

巴扎黑巴扎黑2742 天前1005

全部回覆(6)我來回復

  • PHP中文网

    PHP中文网2017-04-17 17:27:54

    代理選項被勾選,是fiddler造成的。以前常使用fiddler抓包,一段時間後,不能訪問網絡,去掉勾選代理選項,就解決問題了

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-17 17:27:54

    可以關註一下我寫的一個開源元件,設定一個代理伺服器池,防止反爬蟲策略的屏蔽,並進行了自動調節請求頻率,處理異常請求,優先選取響應快的代理。 https://github.com/letcheng/ProxyPool

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 17:27:54

    1.代理

    2.模擬完全的請求

    3.合理的間隔

    4.adsl斷線重撥

    回覆
    0
  • PHPz

    PHPz2017-04-17 17:27:54

    方法:
    更換IP,使用代理IP,網路上有很多免費喝付費的
    免費IP:http://www.uuip.net/
    付費IP:http://www.daili666.net/

    回覆
    0
  • 迷茫

    迷茫2017-04-17 17:27:54

    透過代理商去訪問試試

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:27:54

    為什麼這個問題的答案是這樣的,50x錯誤在於網站本身啊

    回覆
    0
  • 取消回覆