突破反爬虫的利器——开源动态ip池

突破反爬虫的常用方法是使用代理ip。对于初学者或个人来说,购买一些代理ip的成本略高。因此,最近编写了一个开源项目IPProxys,为个人提供代理IP。
 
IpProxys原理:通过抓取各大代理网站提供的免费代理ip,进行去重,验证ip的可用性,将有效IP存储在sqlite中,为爬虫获取IP提供HTTP接口。
 
IPProxys项目已经上传到github,链接是https://github.com/qiyeboy/IPProxys.以下是整个项目的描述。
 
Api包:主要实现http服务器,提供api接口(通过get请求返回json数据)。
 
数据文件夹:主要指数据库文件和qqwry.dat的存储位置(可以查询ip的地理位置)。
 
Db包:主要封装一些数据库操作。
 
蜘蛛包是爬虫的核心功能,在代理网站上抓取代理ip。
 
测试包:测试一些用例,不参与整个项目的运行。
 
Util包:提供一些工具类。其中ipAddress.py查询IP的地理位置。
 
验证包:用于测试ip地址是否可用。
 
Config.py:主要是配置信息(包括配置ip地址的解析方法和数据库的配置)。
 
整个项目代码量很小,大家可以根据自己的需要进行修改,也可以提出自己的想法和建议,帮助我完善这个项目。
 
如何使用IPProxys项目?
 
1.将项目目录克隆到当前文件夹。
 
$ git克隆
 
2.切换项目目录。
 
$ cd IPProxys
 
3.运行脚本。
 
python IPProxys.py
 
窗口运行效果如下图所示:
 
 
项目依赖关系:
 
需要安装Sqlite数据库。
 
安装请求库:pip安装请求。
 
install lxml:apt-get install python-lxml。
 
ipProxys运行时,外部爬虫如何获取IP?
 
外部爬虫只需要向IPProxys所在主机的端口8000发送GET请求。获取请求的参数
 
动态IP模拟器