回到顶部
现在是下班时间,客服可能无法及时为您服务! 工作时间为:周一至周六 9:00 - 17:00
好的
仍然咨询

利用开源代理ip池,反爬虫终结

发布时间:2017/05/17 13:03:17      文章来源:www.dailiyun.com

突破反爬虫的一个常用做法是使用代理IP,可以是作为初学者或者个人来说,买一些代理ip成本稍微高一些,找靠谱的代理ip资源是最关键的。


  利用开源代理ip池,反爬虫终结,IPProxys原理:通过爬取各大代理网站提供的免费IP,进行去重,并验证ip的可用性,将有效的ip存储到sqlite中,并提供一个HTTP接口供爬虫程序获取ip。


  IPProxys项目已经上传到github中,链接为/qiyeboy/IPProxys。下面对整个项目工程进行一下说明,如下图所示:


  api包:主要是实现http代理服务器,提供api接口(通过get请求,返回json数据)


  data文件夹:主要是数据库文件的存储位置和qqwry.dat(可以查询ip的地理位置)


  db包:主要是封装了一些数据库的操作


  spider包:主要是爬虫的核心功能,爬取代理网站上的代理ip


  test包:测试一些用例,不参与整个项目的运行


  util包:提供一些工具类。查询ip的地理位置


  validator包:用来测试ip地址是否可用


  :主要是配置信息(包括配置ip地址的解析方式和数据库的配置)


  去哪里找靠谱稳定的分布式代理ip呢?


  《代理云四大优势,稳固品牌地位》


  1、资源优势:代理节点覆盖全国各省市


  聚合多种高质量节点资源,其中拨号节点600+,个人节点20000+,散段IP随机分配。


  2、技术优势:自主研发的代理服务器


  超过8年研发高性能web服务器,具有丰富的大规模分布式系统设计经验。


  3、服务优势:1v1服务,提升客户价值


  从注册账户到客户消费,您都可以享受代理云平台贯穿生命周期的尊贵1v1服务。


  4、经验优势:行业定制方案超过80例


  4年内为多家小中企业定制专属代理服务器池方案。客户好评率高达99%。那如何接入代理云呢?


  整个项目的代码量不大,大家可以根据自己的需求进行修改,也可以提出自己的想法和建议帮助我改进这个项目。


  如何使用IPProxys项目呢?


  1.将项目目录clone到当前文件夹 $gitclone


  2.切换工程目录 $cdIPProxys


  3.运行脚本 windows上运行效果如下图所示:


  项目依赖项:


  需要安装sqlite数据库


  安装requests库:pipinstallrequests


  安装lxml:apt-getinstallpython-lxml


  当IPProxys运行起来后,外部的爬虫如何获取ip呢? 外部的爬虫只需要向IPProxys所在主机的8000端口发送GET请求即可。GET请求的参数为:


  访问http://127.0.0.1:8000/?types=0&count=5&country=中国这个链接的含义是获取5个ip地址在中国的高匿代理。


  响应为JSON格式,返回数据为:


  {"ip":"220.160.22.115","port":80},


  {"ip":"183.129.151.130","port":80},


  {"ip":"59.52.243.88","port":80},


  {"ip":"112.228.35.24","port":8888},


  {"ip":"106.75.176.4","port":80}


  一般爬取到的有效ip大约有60个左右,基本上满足个人的需要。


推荐阅读:爬虫代理IP选择


下一篇:C#网络爬虫代理ip抓取图片