gpt4 book ai didi

python - 获取代理ip地址scrapy用来爬取

转载 作者:太空狗 更新时间:2023-10-30 01:40:42 28 4
gpt4 key购买 nike

我使用 Tor 来抓取网页。我启动了 tor 和 polipo 服务并添加了

class ProxyMiddleware(object):   # overwrite process request   def
process_request(self, request, spider):
# Set the location of the proxy
request.meta['proxy'] = "127.0.0.1:8123"

现在,我如何确保 scrapy 使用不同的 IP 地址进行请求?

最佳答案

您可以放弃第一个请求来检查您的公共(public) IP,并将其与您转到 http://checkip.dyndns.org/ 时看到的 IP 进行比较不使用 Tor/VPN。如果它们不相同,显然 scrapy 使用了不同的 IP。

def start_reqests():
yield Request('http://checkip.dyndns.org/', callback=self.check_ip)
# yield other requests from start_urls here if needed

def check_ip(self, response):
pub_ip = response.xpath('//body/text()').re('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}')[0]
print "My public IP is: " + pub_ip

# yield other requests here if needed

关于python - 获取代理ip地址scrapy用来爬取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27364630/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com