python - 在程序外部更改代理时,Scrapy 会循环直至失败

标签 python proxy scrapy

我有一个更改计算机IP地址的程序,运行良好。 我尝试在每个服务器 IP 地址上爬行我的 scrapy 项目,效果很好。

但是有时当程序在运行scrapy时交换IP地址时会出现错误:

2019-07-19 14:35:38 [scrapy_user_agents.middlewares] DEBUG: Proxy is detected https://127.0.0.1:21218
2019-07-19 14:35:38 [scrapy_user_agents.middlewares] DEBUG: Assigned User-Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/5
37.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36
2019-07-19 14:35:38 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying <GET http://www.ebay.com/sch/allcategories/all-categories
/?_rdc=1> (failed 175 times): [<twisted.python.failure.Failure OpenSSL.SSL.Error: [('SSL routines', 'ssl3_get_record', 'wrong vers
ion number')]>]

有时我的 IP 地址会改变并且它会继续,但有时它会失败并且会循环吐出此代码,重试 200 次。

最佳答案

事实证明有一个重定向破坏了它,所以我添加了

meta = {'dont_redirect': True, 'handle_httpstatus_list': [301,302]}

我的产量,效果很好

关于python - 在程序外部更改代理时,Scrapy 会循环直至失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57113982/

相关文章:

python - 通过代理扩展 Django 用户模型可用的方法

Python 请求不适用于 https 代理

python - 用于 AJAX 内容的 Scrapy CrawlSpider

python - 如何循环按顺序生成字符串?

python - 直接打开Spyder还是通过Pythonxy打开?

git - 将 socks 代理与 git 一起用于 http 传输

python - Scrapy 重试中间件失败并显示非标准 http 状态代码

python - Scrapy XPath 页面上的所有链接

python - 找不到命令 'toco'

proxy - haproxy 匹配 use_backend 中的各种条件