您的位置:首页 > 新闻资讯 >文章内容
怎么写个免费的开源IP代理池?
来源:互联网 作者:admin 时间:2019-03-20 17:29:22

  凡是使用网络爬虫的用户都知道,爬虫的标配是代理IP,没有代理IP,爬虫基本上属于寸步难行的,但是如果一直都要使用代理IP,每个项目需求的IP量也多,成本可不低,能不能使用免费的呢?是否可以写一个开源项目IPProxys,用来为个人提供代理ip。一起去看看怎么写个免费的开源IP代理池


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


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


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


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


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


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


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


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


  spider包:主要是爬虫的核心功能,爬取代理网站上的代理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个左右,基本上满足个人的需要。


  如果需要使用更多的有效IP,建议找代理精灵,可以提高海量的IP资源,IP线路遍布全国,而且好质量,不经检测也能直接使用。


相关文章内容简介
推荐阅读
  • 01 2019-06
    HTTP代理和代理IP软件换IP哪个快

    HTTP代理和代理IP软件换IP哪个快?很多HTTP代理商家提高的IP都是直接提高接口提取的,而代理IP软件则不一样,一般都是下载软件使用的,那么二者换IP哪个快呢?

  • 09 2019-05
    换IP地址发帖还是被删怎么回事?

    换IP地址发帖还是被删怎么回事?都说频繁发帖容易被删,但是我换IP了啊,怎么还是被删了呢?到底是换的IP不管用,还是其他原因呢?

  • 24 2020-02
    PHP如何使用代理IP

    网络上很多用户提问PHP如何使用代理IP,这里就简单发表一下自己的真知灼见,希望对大家有帮助。

  • 01 2019-04
    python爬虫遇到301、302状态码怎么回事?

    每个网站的反爬虫机制不一样,而且网站也是有变化的,因此爬虫在爬取的过程中是经常会遇到问题的,今天讲下关于爬虫遇到的301、302的问题。

  • 11 2019-06
    无法连接代理服务器怎么回事

    无法连接代理服务器怎么回事?在外面找了个IP,想使用代理服务器的,结果怎么也使用不到,换其他的IP也不行,这到底怎么回事呢?

  • 30 2019-04
    代理IP能应付日益增加的反爬虫吗?

    代理IP能应付日益增加的反爬虫吗?都知道如果爬虫没有伪装好,那么在爬取的过程中体验是非常差的,将会遇到各种的反爬虫,比如各种奇怪的验证码、被网站封IP、各种动态加载、userAgent访

在线咨询
大客户经理
大客户经理
1829380381
13316264505

大客户经理微信

微信公众号

微信公众号

回到顶部