最近初学用Python写网页爬虫视图扒取一个站点上的特定数据。
最近碰到的一个现象是,当爬虫运行了一段时间后(根据Fiddler抓包的结果来看,大概是发送了将近3万个http请求后),爬虫的获取的http响应的StatusCode骤然都变成了 504, 之后就再也获取不到200的响应了。
想请教一下各位大神,这种现象是否是由于扒取对象的站点的反爬虫策略造成的?
如果是的话,有什么常用的回避策略么?
P.S.
还注意到一个现象,不知与上述现象是否有关,一并描述:
即当爬虫的响应变成504之后,发现我的浏览器的代理选项被自动勾上了,如下所示:
代理選項被勾選,是fiddler造成的。以前常使用fiddler抓包,一段時間後,不能訪問網絡,去掉勾選代理選項,就解決問題了
可以關註一下我寫的一個開源元件,設定一個代理伺服器池,防止反爬蟲策略的屏蔽,並進行了自動調節請求頻率,處理異常請求,優先選取響應快的代理。 https://github.com/letcheng/ProxyPool
1.代理
2.模擬完全的請求
3.合理的間隔
4.adsl斷線重撥
方法:
更換IP,使用代理IP,網路上有很多免費喝付費的
免費IP:http://www.uuip.net/
付費IP:http://www.daili666.net/
透過代理商去訪問試試
為什麼這個問題的答案是這樣的,50x錯誤在於網站本身啊