您的位置:首页 > 新闻资讯 >文章内容
使用代理IP池怎么维护?
来源:互联网 作者:admin 时间:2019-09-04 10:48:39

  使用免费代理IP的时候,在爬取数据的时候,遇到了IP被封杀的情况。为了顺利开展工作,选用付费的代理IP,像机灵代理,以下分享爬虫工作经验,对代理IP池的维护提供一些见解。


使用代理IP池怎么维护


  在使用代理ip之前,首先要了解几样东西:


  一:对返回ip格式的操作


  json格式的数据可以直接请求后返回json数据进行操作包过提取,删除,增加。当然,在实际使用ip代理的时候最好先在浏览器中请求一次,复制下来新建一个py文件练习对其操作。


  二:ip的有效期


  现在大部分的ip代理都是有有效期的,我买的就是1-5分钟的有效期(蘑菇的有效期其实还是挺长的),当ip失效后你需要将此ip从ip池中删除。当ip不够的时候又要引入新的ip添加到当前的ip池中。要动态维护ip池。


  三:python3使用代理ip的方式


  以前我的python3使用代理ip也有格式,你爬取的是http用http,是https用https就行。


  四:异常处理


  再写爬虫的时候一定要对所有可能产生异常的操作进行try except的异常处理。异常又要注意是否为超时异常,还是ip不可用,过期的异常,还是操作dom树的时候产生的异常。不同的异常要采用不同的策略。(可用状态码,全局变量判断)。


  五:分析目标网站对ip的需求


  你需要设置ip池的最小和请求ip的个数不至于太大或太小,可以预先测试。打个比方你爬的网站同一个时段10个ip更换就不够了。你不至于开100个ip去爬吧,ip过期而没咋么用就是对资源的浪费。


  解决方向:


  先写个小程序操作返回的json数据测试。


  设置全局的列表ipdate[],全局的一个msg{}字典(其实字典就是列表中随机选的一个ip和端口,只不过通过记录标记可以很好的进行删除操作)。


  将请求ip的操作添加到全局列表(数组)中写成一个loadip()函数,以便判断ip不够时候即使添加(列表extend方法了解下,不是append哦)。


  写一个随机选ip的函数getproxies(),更换proxies{}里面的内容。同时msg也要更换。注意python函数改变全局变量需要在函数里先global msg声明。每次进行http(s)请求前执行一次更新操作。


  所有的操作都在try excpet操作,对不同的异常采用不同处理。比如(有的因为ip异常没爬到需要从爬,而有的因为dom结构异常就需要跳过)。


  当然实际处理可能会遇到各种问题,比如页面跳转重定向,ssl证书,有的网站也会卡浏览器名称,或者cookie。这里不做过多介绍了。


相关文章内容简介
推荐阅读
  • 04 2019-09
    代理IP有多少种代理方式?

    说起代理IP,相信很多人都只停留在基本认识,只知道是可以有多个不同IP进行切换,如果不是像爬虫工作者或者是需要用多个IP刷的项目,基本是不会接触到。更别说代理IP的不同类型之间的区

  • 23 2019-09
    代理IP教你怎么写出整洁的代码(下)

    代理IP教你怎么写出整洁的代码(上)这篇文章大家看完之后,有没有对整洁代码有了一个基本的轮廓呢?下面,机灵代理马不停蹄为大家带来下半部分的介绍。

  • 23 2019-04
    IP代理的动态转发速度比较慢,有没有办法解决?

    IP代理的动态转发速度比较慢,有没有办法解决?一些经常使用动态转发的用户可能也有发现的,虽然动态转发优点不少,但缺点也有的。

  • 31 2019-03
    Python爬虫学习,IP代理是如何配合爬虫工作的?

    在大数据时代,爬虫其实是可以做很多的事情,比如爬取商品价格、旅游路线价格、热门音乐、股票信息、机票信息等等,几乎是所有的信息,爬虫都是可以爬取的。

  • 14 2019-10
    对比优质代理IP与普通代理IP的区别

    使用优质的代理IP跟普通的代理IP之间会有差别吗?在使用中它们会有什么不同的效果?为什么那么多的专业爬虫工作者更愿意花更多的钱去购买优质的代理IP服务呢?

  • 26 2019-04
    API接口调用爬虫代理流程

    API接口调用爬虫代理流程分享,大家可以参考下的。现在采集数据都是需要使用到爬虫代理的,不然对方会拦截住你,对方的服务器只需要知道你的IP地址便可以知道你的一些访问行为,如果你

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

大客户经理微信

微信公众号

微信公众号

回到顶部