前面学习了怎么样验证代理IP地址的有效性,这样就可以通过代理池的数据库来进行筛选出有效的IP地址出来。接着就可以利用这些代理IP地址进行随机更换,达到模拟不同人员访问同一个网站的目的。那么我们怎么样才能随机地更换scrapy的代理IP地址呢?基于前面的面向对象的设计思路,我们一般不要去修改原来爬虫项目的代码,采用插入中间件的方式是最佳的方法。因此,我们添加一个随机中间件来达到这个目的,这个中间件与前面学习过随机更换UA是差不多。
我们先来创建一个测试的工程,使用下面的命令:
scrapy startproject RandomProxy
scrapy genspider baidu www.baidu.com
这样我们就得到了RandomProxy工程。
接着我们来打开settings.py文件,设置代理IP