写京北数据爬取的时候遇到的问题,由于反爬,使用了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 就不会出现这个问题