【使用场景】巧用ip代理解决爬虫运行被封锁被限制的难题

  如何解决采集数据IP被封锁限制的难题?以破解天眼查网络爬虫为例

  小编3个月前用python开发了一套天眼查分布式网络爬虫系统,实现对天眼查网站的数据进行实时更新采集。网站的数据模块,数据存储结构和他一样,当时的想法是做一个和天眼查一模一样的数据服务平台,然后数据源就通过小编的网络爬虫技术从天眼查实时同步采集。采集天眼查数据要求做的工作准备:

  1、第一步分析目标网站数据模块:

  在采用python3写网络爬虫程序开始爬天眼查数据时,第一步要求小编先分析这个网站有那些数据模块,整个网站有主要核心数据有以下19大模块:1基本信息、2法人代表、3主要成员、4股东&出资、5变更记录、6公司年报、7司法风险、8舆情事件、9岗位招聘、10商品信息、11网站备案、12商标数据、13专利数据,、14 作品著作权软件著作权、对外投资关系、税务评级、行政处罚、进出口信用、企业评级信用等十九个维度的企业数据

  2、写一个网络爬虫demo模型分析网站的页面结构和代码结构

  小编模拟http请求到天眼查目标网站,看看天眼查响应的的数据信息是什么样子?

  当小编正常访问时是可以很轻松得到列表的数据以及进入列表的详细链接,小编在通过链接采集得到每个企业的详细的数据包。

  3 采集速度太频繁了,会被封锁限制IP难题 怎么解决

  当小编发出去的http请求到天眼查网站时,正常情况下返回200状态,说明请求合法被接受,而且会看到返回的数据,但是天眼查有自己的一套反爬机制算法,如果检查到同一个IP来不断的采集他网站的数据,那么他会被这个IP列入异常黑名单,您再去采集它网站数据时,那么就永远被拦截了。怎么解决这个难题呢,其实很简单,没有错用代理IP去访问,每一次请求时全全部全部都采用代理IP方式去请求,而且这个代理IP是随机变动的,每次请求全全部全部都不同,因此用这个代理IP技术解决了被封锁限制的难题。

  4 天眼查2个亿的数据量怎么存储?要求多少的代理IP

  小编在写网络爬虫去爬天眼查时,刚开始使用网上的免费的代理IP,结果90%全全部全部都被封锁限制号,因此建议大家以后采集这种大数据量网站时 不要使用网上免费的IP,由于这种ip几秒钟就会过期,意思就是你没有采集网或者刚刚访问到数据时,这个IP就过期了导致你无法采集成功,因此最后小编自己搭建了自己的代理池解决了2个亿天眼查数据的采集封IP难题。如果你没有能力和条件去搭建自己的ip池,那么建议你选用专业一些代理ip软件,比如太阳软件一类的。

  5 天眼查网站数据几个亿数据的存储

  数据库设计很重要,几个亿的数据存储 数据库设计很重要

  小编当时花了10天时间把天眼查网络爬虫系统全部开发完毕,可以每天爬去百万条数据,19个维度的数据,数据爬下来后主要是数据的存储和管理,数据库的小编采用了mongdb,网络爬虫开发技术小编采用了python,几个亿的数据后台管理系统小编采用php,小编自己架构了分布式架构系统,因此小编采集的小编采用分布式+多线程+集群的方式,采集速度相当的快!

猜你喜欢

转载自blog.51cto.com/14059916/2330473