当前位置:首页>帮助中心>雷神HTTP—突破反爬虫的利器——开源IP代理池

雷神HTTP—突破反爬虫的利器——开源IP代理池

发布日期:2020-06-12 10:01:21 来源:雷神HTTP

突破反爬虫的一个常用做法是使用代理IP,可以是作为初学者或者个人来说,买一些代理ip成本稍微高一些,因此最近写了一个开源项目IPProxys,用来为个人提供代理ip。


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


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


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


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


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


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


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


util包:提供一些工具类。其中的IPAddress.py查询ip的地理位置


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


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


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


如何使用IPProxys项目呢?


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

$ git clone


2.切换工程目录 

$ cd IPProxys


3.运行脚本 

python IPProxys.py 

windows上运行效果如下图所示:


突破反爬虫的利器——开源IP代理池


项目依赖项:


需要安装sqlite数据库


安装requests库:pip install requests


安装lxml: apt-get install python-lxml


当IPProxys运行起来后,外部的爬虫如何获取ip呢? 

        外部的爬虫只需要向IPProxys所在主机的8000端口发送GET请求即可。GET请求的参数为:


突破反爬虫的利器——开源IP代理池


例如:


访问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个左右,基本上满足个人的需要。

       雷神HTTP代理IP平台专业提供HTTP代理IP服务,其中的动态高质量代理重点推荐,多年来服务了很多顾客朋友,高效稳定的质量,受到了一致的好评。雷神HTTP代理IP将会继续努力,为广大顾客提供更优质的产品!咨询QQ:800821230,网址:www.leishenhttp.com

用户登录

自动登录 忘记密码?

还没帐号?立即注册

用户注册

图形验证码

短信获取

我已阅读并同意 《用户协议》

已有账号?立即登录

忘记密码

图形验证码

短信获取

返回登录