给Scrapy添加代理

来源:互联网 发布:李知恩情侣头像 编辑:程序博客网 时间:2024/06/05 15:16

给请求添加代理有2种方式,第一种重写start_request方法,第二种是添加download中间件。下面分别介绍这2种方式。
一.重写start_request方法
这里写图片描述
比较简单,只是在meta中加了一个proxy代理。然后可以测试了,那么问题来了,我怎么知道我的请求是否带上了代理呢?可以在测试的时候去爬 “http://ip.filefab.com/index.php” 这个网站,它会显示你当前访问ip地址。一切准备就绪了,我在我的intellij控制台中输入命令: cd /spider和scrapy crawl dmoz,然后控制台打印:
这里写图片描述
二.使用DOWNLOAD中间件
1.在middlewares.py中增加一个类,取名:ProxyMiddleware即代理中间件:这里写图片描述
这里的初始化方法可以忽略,是我业务上的需求,主要是看这里的process_request方法,加了一个代理,然后在settings中配置这个中间件:这里写图片描述
这里的数字是中间件的执行顺序,可以随意指定,只要不重复就行。然后同样在控制台中启动爬虫,没有问题~

原创粉丝点击