2024-10-01 22:36:12 发布
网友
我使用了python2.7和scrapy1.3.0
我需要设置代理来访问网络
如何设置?在
这是我在parse中的脚本
if theurl not in self.ProcessUrls: self.ProcessUrls.append(theurl) yield scrapy.Request(theurl, callback=self.parse)
如果我需要确认爬网新是不重复怎么办?如果不重复需要爬网这个新的网址
您必须设置http_proxy,https_proxy环境变量。请参考:proxy for scrapy
http_proxy
https_proxy
我们可以使用以下方法:
request = Request(url="http://example.com") request.meta['proxy'] = "host:port" yield request
一个简单的实现如下:
如果要在初始状态下使用代理:
添加以下作为spider类字段
class MySpider(scrapy.Spider): name = "examplespider" allowed_domains = ["somewebsite.com"] start_urls = ['http://somewebsite.com/'] custom_settings = { 'HTTPPROXY_ENABLED': True }
然后使用start_requests()方法,如下所示:
start_requests()
def start_requests(self): urls = ['example.com'] for url in urls: proxy = 'some proxy' yield scrapy.Request(url=url, callback=self.parse, meta={'proxy': proxy}) def parse(self, response): item = StatusCehckerItem() item['url'] = response.url return item
您必须设置
http_proxy
,https_proxy
环境变量。请参考:proxy for scrapy我们可以使用以下方法:
一个简单的实现如下:
^{pr2}$如果要在初始状态下使用代理:
添加以下作为spider类字段
然后使用
start_requests()
方法,如下所示:相关问题 更多 >
编程相关推荐