如何用Scrapy设置proxymesh?
How to set up proxymesh with Scrapy?
我有一些 Scrapy 代码,我想开始使用 proxymesh。 proxymesh documentation 隐晦地说:
For the scrapy crawling framework, you must set the http_proxy
environment variable [...] then activate the HttpProxyMiddleware.
我了解如何设置 http_proxy
环境变量,但是如何 "activate the HttpProxyMiddleware" 从文档中看并不完全清楚。我认为我需要在我的Scrapy项目中添加以下内容到settings.py
:
DOWNLOADER_MIDDLEWARES = {
'myproject.middleware.ProxyMeshMiddleware': 100,
}
但是我想我还需要添加一些实际的中间件代码,大概在 middleware.py
文件中?
我找到了 this gist,所以我想我可以将其复制并粘贴到 middleware.py
,但我不确定它是否准确。它似乎使用了与 proxymesh 文档中推荐的环境变量不同的环境变量。
您所指的 Gist 从 OS 环境变量中读取 ProxyMesh 设置,否则它是基本 Scrapy HttpProxyMiddleware 的稍微修改的代码,应该运行良好。
您还可以查看我非常简单的 Proxymesh 中间件实现 https://github.com/mizhgun/scrapy-proxymesh,它支持代理轮换(如果您有具有多个端点的 ProxyMesh 计划)和可自定义的超时。
我有一些 Scrapy 代码,我想开始使用 proxymesh。 proxymesh documentation 隐晦地说:
For the scrapy crawling framework, you must set the http_proxy environment variable [...] then activate the HttpProxyMiddleware.
我了解如何设置 http_proxy
环境变量,但是如何 "activate the HttpProxyMiddleware" 从文档中看并不完全清楚。我认为我需要在我的Scrapy项目中添加以下内容到settings.py
:
DOWNLOADER_MIDDLEWARES = {
'myproject.middleware.ProxyMeshMiddleware': 100,
}
但是我想我还需要添加一些实际的中间件代码,大概在 middleware.py
文件中?
我找到了 this gist,所以我想我可以将其复制并粘贴到 middleware.py
,但我不确定它是否准确。它似乎使用了与 proxymesh 文档中推荐的环境变量不同的环境变量。
您所指的 Gist 从 OS 环境变量中读取 ProxyMesh 设置,否则它是基本 Scrapy HttpProxyMiddleware 的稍微修改的代码,应该运行良好。
您还可以查看我非常简单的 Proxymesh 中间件实现 https://github.com/mizhgun/scrapy-proxymesh,它支持代理轮换(如果您有具有多个端点的 ProxyMesh 计划)和可自定义的超时。