作者:sergiojune Python爱好者社区--专栏作者个人:日常学python专注python爬虫,数据可视化,数据分析,python前端技术:Python爱好者社区
前文传送门:今天说说反爬虫与反反爬虫
继上一篇说了反爬虫之后,我说今天这篇文章会搭建一个属于自己的代理ip池,所以,为了不食言,就写了这篇文章,那好废话不多说,进入正题
目标网站
爬取代理ip,这也需要找网页,这就得看看哪个网页提供这些代理ip了,本人知道了几个免费提供代理ip的网站,如下:
无忧代理ip芝麻代理ip西刺代理ip云连代理ip我选择了爬取西刺代理的网站。
分析网站结构
我们需要获取的高匿代理,按下F12打开开发者工具
上面我们要获取的数据是ip地址,端口和类型这三个就可以了,可以看到,这些数据都在一个tr标签里,但是有两个不同的tr标签,这样可以用正则表达式,利用相隔的html结构先把整个内容匹配下来,再把重要信息匹配下来,最后就把他弄成这个样子{https: https://ip:端口}存入列表即可,最后就随机获取一个ip,然后可以先判断是否有用,再拿来做你此时项目的代理ip,判断是否用的方法就是随便拿一个百度获取别的网站,加上代理ip发送get请求,看看status_code()的返回码是不是200,即可,就如下面这样
代码部分
1.匹配数据,并挑选数据存入列表
2.随机获取ip,并写好ip格式
我这里是把他存入列表,现抓现用,是因为我现在的爬虫项目都是很小的,只需要这些就可以了。
以上就是我简单搭建的代理ip池了,等到以后慢慢完善,你可以把他们存入你的数据库,然后要用的时候,就随机拿出来,先看看有没有用,没用的话就删除,有用就拿来用即可。