您的位置:首页 > 新闻资讯 >文章内容
怎么写个免费的开源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线路遍布全国,而且好质量,不经检测也能直接使用。


相关文章内容简介
推荐阅读
  • 04 2019-04
    下载图片最快的方法--用IP代理绕过限制爬取

    我们需要下载大量的资料时,人工下载不知得何年何月了。就比如下载图片,一个一个下载,操作繁琐,不停的重复,还没有休息,效率也没有见提上去,有没有更快的下载方法呢?

  • 01 2019-07
    HTTP代理找自建机房的

    HTTP代理找自建机房的,这样代理IP是不是质量会好很多呢?或者说哪类HTTP代理的质量好呢?

  • 25 2019-12
    高匿代理有哪些功能?

    高匿代理有哪些功能?高匿IP代理这种工具,能够对访问的远端服务器隐藏原本的原始IP,ip代理的高匿名性是通过非常规的技术手段这种方式,直接将代理ip地址运管用于用户端,从而达到高匿名

  • 13 2020-07
    选择高性价比的代理IP

    网络早就进入千家万户,成为我们的日常生活,代理IP是换IP的一种工具,可以帮助解决IP限制难题。代理IP一般都是付费的,那如何选择高性价比的代理IP?

  • 02 2019-09
    构建一个你的爬虫代理IP池

    网站现在对于单个IP的访问频次都有严格的监控,特别是像一些大型网站,这样单个IP很容易被封。如果手上没有足够的IP,项目也无法完成,当我们在做某个项目或是爬虫的时,需要大量IP的话

  • 02 2019-10
    代理IP分享:什么是MapReduce?

    使用代理IP进行爬虫数据挖掘,这些被我们采集回来的数据又该怎么处理呢?如果没有合适的去对它们进行处理分析,那可就白白浪费了爬虫的努力了。今天机灵代理带来一种大批量进行数据处理

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

大客户经理微信

微信公众号

微信公众号

回到顶部