您的位置:首页 > 新闻资讯 >文章内容
个人用户获得免费代理IP方式
来源:互联网 作者:admin 时间:2019-10-25 10:53:58

  对于爬虫学习者来说,练习是很有必要的,因为看了再好的教程跟理论,都比不上一次一次的反复操作,从实践中学习,能够快速提升。但是如果练习次次都需要购买代理IP服务,那么这费用确实有点可惜。所以,为了爬虫练习者,这里提供一个可用于提供免费代理IP的方式给大家。


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


  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请求即可。


  例如:


  访问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来进行爬虫练习的操作流程。


相关文章内容简介
推荐阅读
  • 05 2019-08
    代理IP能破ip限制也有安全隐患

    代理IP能破ip限制也有安全隐患,如果代理IP用得不对,这样很容易出问题的,尤其是免费的代理IP,那么有哪些安全隐患呢?

  • 21 2019-09
    代理IP教你用Python抓取网易云歌曲

    现在的听歌软件版权之争是越来越激烈了,不仅听个歌要会员,下载要会员,有时候明明开通了会员,部分歌曲还需要另外购买才能够听跟下载。而且版权也不互通,有时候这个歌手的版权在QQ

  • 11 2019-04
    HTTP代理ip伪装用户爬取数据

    网络爬虫通过是采用HTTP代理ip伪装用户爬取数据,因为现在爬数据越来越难了,网站设了各种反爬,太难搞了,还是简单的网站基本没有什么反爬,一般弄些HTTP代理ip就能搞定了。

  • 16 2019-12
    代理IP对注册投票的好处!

    代理IP对注册投票的好处!使用代理ip​用于投票或者注册方面有着十分优质的好处,因为很多网站都有对IP地址进行限制,为了能够突破这些限制达到重复投票和注册的效果,使用代理ip进行更换

  • 14 2019-10
    付费代理IP为什么这么多人选择?

    什么代理IP好?是免费的还是付费的?现在也有不少人会自己建服务器,那么既然有这么多的渠道,为什么付费代理IP还是有这么多用户选择呢?

  • 11 2019-11
    使用代理IP上网与普通上网的不同

    网络现在已经非常普遍了,上网已经是大家日常生活中见怪不怪的一件平常事了。不过你知道我们与网络的沟通是如何实现的吗?如果是用了代理IP,与网络沟通的传输方式是否会有不同呢?

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

大客户经理微信

微信公众号

微信公众号

回到顶部