一、把随机的IP列表定义在settings.py文件里面
PROXIES=['http://180.119.43.106:4228', 'http://106.56.246.104:4237', 'http://118.79.56.240:4278',
'http://223.215.175.132:4272', 'http://115.221.10.97:2316', 'http://182.87.239.182:4250',
'http://113.138.170.34:4659', 'http://182.246.158.172:4263', 'http://183.166.138.236:4248',
'http://114.237.230.132:2444', 'http://175.175.150.202:4211', 'http://124.112.214.13:4286',
'http://114.239.172.198:4236', 'http://110.19.188.168:6410', 'http://182.99.234.158:1659',
'http://182.108.168.170:4234', 'http://49.84.32.34:4203', 'http://121.226.45.229:8736',
'http://115.220.38.159:4208', 'http://118.79.9.64:6996']
以上这些代理,在你们看到文章的时候,可能已经不可用了。你们需要自己去寻找代理IP
二、在middleware文件里面添加一个代理中间件
import random
class PorxyMiddleware(object):
#设置Proxy
def __init__(self,ip):
self.ip=ip
@classmethod
def from_crawler(cls,crawler):
return cls(ip=crawler.settings.get('PROXIES'))
def process_request(self,request,spider):
ip =random.choice(self.ip)
request.meta['proxy'] = ip
三、在settings文件里面的下载器中间键启动自己定义的类
DOWNLOADER_MIDDLEWARES = {
'dome1.middlewares.ProxyMiddleware':543
}
测试:
可以看到,我设置随机IP代理之后也是可以访问成功的
以上就是Scrapy设置代理IP的过程,以上教程如果觉得对你有帮助的话,请转发给更多人学习!
如果有什么疑问或者补充的可以联系我哦:1668544151@qq.com,欢迎关注微信公众号:数据爱好者!
推荐阅读:
《快速设置你的UserAgent》:https://blog.youkuaiyun.com/Elimeny/article/details/86233920