查看原文
其他

搭建属于自己的代理ip池

2018-03-04 sergiojune Python爱好者社区

作者:sergiojune

个人公众号:日常学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池了,等到以后慢慢完善,你可以把他们存入你的数据库,然后要用的时候,就随机拿出来,先看看有没有用,没用的话就删除,有用就拿来用即可。


赞赏作者

Python爱好者社区历史文章大合集

Python爱好者社区历史文章列表(每周append更新一次)

福利:文末扫码立刻关注公众号,“Python爱好者社区”,开始学习Python课程:

关注后在公众号内回复“课程”即可获取:

小编的Python入门视频课程!!!

崔老师爬虫实战案例免费学习视频。

丘老师数据科学入门指导免费学习视频。

陈老师数据分析报告制作免费学习视频。

玩转大数据分析!Spark2.X+Python 精华实战课程免费学习视频。

丘老师Python网络爬虫实战免费学习视频。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存