scrapy框架使用代理ip的基本思路是修改请求对象中的meta['proxy']的值,将代理ip赋值给这个属性。遵循这个思路,只要是生成Request对象的地方都可以设置Request的值。
downloader中间件
spider中间件
spider内部对象定义的内部parse函数和parse_start_url()等
其中最方便的是在downloadermiddleware中使用
只要在request中加入下面的设置就可以实现代理ip访问资源,当然前提是这个代理ip可用以及满足可以使用协议:
request.meta['proxy'] = 'http://%s:%d'%('110.73.10.242', 8123)
至于其它像读取ip、ip调用顺序的逻辑就直接在生成请求的地方进行设置即可。
相关的内容:使用通用库进行网络爬取的方式
1 import urllib2 2 import urllib 3 import requests 4 url = 'http://baiduc.com/' 5 req = urllib2.Request(url=url) 6 req.set_proxy('12.24.23.111',9000) 7 response = urllib.urlopen(req, timeout=30) 8 print(response.msg)
都是通过在请求上设置代理来达到目的。
本文详细介绍如何在Scrapy框架中使用代理IP,包括在Request对象的meta['proxy']属性中设置代理,以及在downloader中间件、spider中间件和spider内部对象定义的parse函数中应用的方法。此外,还提供了使用urllib2和requests库设置代理的示例代码。
960

被折叠的 条评论
为什么被折叠?



