【发布时间】:2016-01-24 06:48:49
【问题描述】:
我开始使用带有 Scrapy 的 ProxyMesh。 ProxyMesh 应该在一个端口上提供一个 IP 地址池。下面的示例代码代码在循环中重复,中间件已启用,总体上工作正常。我可以跟踪(如果可以,如何跟踪?)每个特定请求使用哪个 IP 地址?
request = scrapy.Request(producturl, self.parse_product_info)
request.meta['proxy'] = 'http://uk.proxymesh.com:xxx'
yield request
我在 SOF 上找到了类似的帖子,但没有解决这个具体问题。
【问题讨论】:
-
也许 proxymesh 在标题中返回该信息,您可以尝试在响应中打印该信息:
print response.headers。顺便说一句,crawlera 确实在响应标头上返回了使用的代理。 -
这是一个很好的提示。有一个响应头:X-Proxymesh-Ip。我能够将其解析为 response.headers.get('X-Proxymesh-Ip')。我希望网站管理员也可以看到使用 ProxyMesh 的事实,是否可以隐藏它?
-
当然网站会知道使用哪个代理(或 IP)来抓取他们的网站,但
X-Proxymesh-Ip只会返回给您。至少crawlera 是这样工作的。 -
好的,谢谢。我不确定这在 ProxyMesh 上是不可见的,但我会尝试而不用担心太多..
标签: python proxy web-scraping request scrapy