使用基于scrapy框架“IP代理池”攻破网站的反爬虫体制,通用模板

为什么我们要学习基于scrapy框架“代理IP池”呢?因为我们利用爬虫去爬取网站的信息,频繁访问会被网站屏蔽我们的IP地址,这样我们也就连接不上网站了,得不到我们想要收集的信息。所以我们要设置IP代理池来攻破反爬虫体制。

说在前面:IP代理池是在已经建好爬虫项目的基础上进行添加的,还没创建好爬虫项目文件夹或者还不会创建scrapy项目的朋友,可以先去我的这篇入门scrapy文章学习先。链接是:最火爆的python爬虫scrapy框架项目实战,带你走进scrapy爬虫世界

笔者的项目文件夹如下图所示:

今天的【IP代理池】实验,可以作为一个通用的模板使用。学会这几个步骤,把需要添加的代码复制添加到新的爬虫文件就已经成功设置好IP代理池了,大家收藏好,便于以后的开发使用。

下面开始讲解IP代理池是怎样设置的:

主要有4个方面的思路:

在settings.py文件中自定义一个IPPOOL池——在middlewares.py文件中编写中间件文件——在settings.py文件中激活中间件文件——运行爬虫文件

1.在settings.py文件中自定义一个IPPOOL池,添加信息如下图所示:

自定义一个IPPOOL池

说明:这里的IP池的IP个数可以有多个的,在这里笔者只用了两个。那么代理服务器IP在哪里可以找到呢?这是国内代理服务器IP的链接: 需要添加多个的朋友可以去看看。(注意:在确认程序代码没有错误的情况下,程序运行错误的话,很可能就是这里的代理服务器IP已经失效了,这个时候要重新更换IP就可以正常运行了)

2.在middlewares.py文件中编写中间件文件,添加内容如下图所示:

编写中间件文件

3.在settings.py文件中激活中间件文件,在settings.py文件中添加如下内容:

激活中间件文件

突破反爬虫的【IP代理池】到这里已经编写好了,下面运行爬虫文件。

4.运行爬虫文件:

部分结果如下图所示

今天的内容分享就结束了,喜欢的朋友可以关注一下喔,接下来还有很多干货等着各位读者呀。也可以转发给需要学习的朋友看看,谢谢大家的支持。