寫京北數據爬取的時候遇到的問題,由於反爬,使用了https://center.abuyun.com/#/cloud/http-proxy/tunnel/lists 阿布雲的代理,
然後爬不了6頁就會出現上面的錯誤,而且還找不到原因,各種方法都嘗試了
HTTP_RETRY_CODES = [404, 303, 304, 301,302]
RETRY_TIMES = 20
# REDIRECT_ENABLED = False # 關掉重定向, 不會重定向到新的地址
# HTTPERROR_ALLOWED_CODES = [301, 302] # 返回301, 302時, 按正常返回對待, 可以正常寫入cookie
custom_settings = {
'DOWNLOAD_DELAY': 5,
'DOWNLOAD_TIMEOUT': 360,
'CONCURRENT_REQUESTS_PER_DOMAIN': 1,
'CONCURRENT_ITEMS': 1,
'REDIRECT_MAX_METAREFRESH_DELAY': 200,
'REDIRECT_MAX_TIMES': 40,
}
都沒有效果,最後把代理關掉,直接本機ip跑代碼,問題解決,不在出現 Redirecting (meta refresh)
#############整了一天,發現不是代理的問題,是網頁的重定向導致的 網頁中出現了
<meta http-equiv="refresh" content="3;URL=javascript:history.back()" />
但是用瀏覽器請求網頁的時候沒有這一行代碼,於是總結是反爬導致的
過幾天爬蟲寫完了上傳一版scrapy中解決這個問題的代碼,原理就是隻要即使跟新cookie,ip,headers 就不會出現這個問題