一种网络爬虫伪装数据的生成方法及系统技术方案

技术编号:22783811 阅读:24 留言:0更新日期:2019-12-11 04:14
本发明专利技术提供一种网络爬虫伪装数据的生成方法,其步骤包括:从浏览器的用户代理useragent字串库中选择一useragent字串,从代理IP资源池中获取一代理IP;利用所述useragent字串和所代理IP访问目标网站,根据cookie获取策略,获取cookie信息并存储于cookie资源池;将所述cookie信息与所述useragent字串、所述代理IP、多个同城代理IP、referer信息关联存储,并打包成伪装数据;根据调度策略将所述伪装数据供外部爬虫程序使用。本发明专利技术还提供一种网络爬虫伪装数据的生成系统。

A method and system for generating camouflage data of web crawler

The invention provides a method for generating network crawler camouflage data, the steps of which include: selecting a useragent string from the user agent string Library of the browser, obtaining a proxy IP from the proxy IP resource pool; using the useragent string and the proxy IP to access the target website, acquiring cookie information and storing it in the cookie resource pool according to the cookie acquisition policy; and selecting the cookie from the proxy IP resource pool of the browser The IE information is stored in association with the useragent string, the agent IP, multiple local agent IP, and the referer information, and packaged into camouflage data; the camouflage data is used by external crawlers according to the scheduling policy. The invention also provides a generation system of network crawler camouflage data.

【技术实现步骤摘要】
一种网络爬虫伪装数据的生成方法及系统
本专利技术涉及网络信息抓取领域,尤其涉及一种网络爬虫伪装数据的生成方法及系统。
技术介绍
互联网的高速发展使之汇聚了海量的用户数据。将互联网上的海量数据与自己相关的抓取下来,分析数据,就能产生有价值的数据结果,这是舆情分析的前提和基础。但是,由于各搜索引擎、门户网站从自身企业利益的角度出发,并不欢迎爬虫访问,会开发策略程序在确保不妨碍正常自然人用户访问下对爬虫进行封锁,但这样也导致了舆情分析、公共数据调查等正常的数据研究无法进行。由于互联网企业在封锁网络爬虫程序的时候,普遍采用的原则是“封锁爬虫程序的访问,保证正常自然人用户不受影响,同时要考虑封锁措施的成本在合理的范围之内”。因此,要想实现网络数据抓取,开展舆情分析、公共数据调查等正常的数据研究,方法之一是研究如何让爬虫程序在互联网中的网络行为和网络痕迹像自然人一样,概括地说就是研究让爬虫程序在互联网上以拟人化的方式采集数据。目前,爬虫程序伪装自己主要的方式就是通过切换代理IP,降低每个IP的访问频率;设置访问请求的时间间隔;或者在访问请求中手工添加cookie;这些方式都只是在某一个方面模拟了自然人用户人访问互联网的操作,如果互联网站的封锁策略变化,就需要重新修改爬虫代码,并不具有持久的稳定性。
技术实现思路
鉴于上述不足,本专利技术提出了一种网络爬虫伪装数据的生成方法及系统,自动化批量产生网络爬虫伪装数据,多维度模拟真实自然用户访问互联网,使得网络爬虫在互联网上的访问请求行为不易被目标网站识别,实现舆情分析、公共数据调查等正常的数据获取。为解决上述技术问题,本专利技术采用如下技术方案:一种网络爬虫伪装数据的生成方法,其步骤包括:从浏览器的用户代理useragent字串库中选择一useragent字串,从代理IP资源池中获取一代理IP;利用所述useragent字串和所代理IP访问目标网站,根据cookie获取策略,获取cookie信息并存储于cookie资源池;将所述cookie信息与所述useragent字串、所述代理IP、多个同城代理IP、referer信息关联存储,并打包成伪装数据;根据调度策略将所述伪装数据供外部爬虫程序使用。进一步地,根据操作系统类型、渲染引擎标志、版本信息等数据为useragent字串分类建立索引。进一步地,所述useragent字串填充进访问http请求的header文件头的user-agent字段中。进一步地,根据IP的地理位置将所述代理IP和所述同城代理IP按照市县两级地理位置索引存储。进一步地,所述cookie获取策略包括:1)对于登陆才可访问的网站,使用用户名、密码等用户身份认证信息进行访问;对于无需登陆就可访问的网站,可以不包含用户身份认证信息直接进行访问;2)cookie获取操作信息,包括获取cookie的选择下拉框、点击按钮、输入文本等操作信息、操作之间的先后顺序信息以及与操作相关的网页元素在html网页上的路径位置,该路径位置可使用xpath、css选择器或者网页路径表达方式表示;3)验证码破解策略,包括外接打码平台、图片OCR识别、滑动验证码识别等。进一步地,通过使用浏览器自动化运行程序、驱动浏览器程序,加载cookie获取策略,获取访问目标网站的cookie。进一步地,所述同城代理IP根据所述代理IP生成。进一步地,所述referer信息在设置所述cookie获取策略时一同设置,包括为目标网站的首页URL。进一步地,所述调度策略包括:1)在某段时间内以某种频率供外部程序调用;2)cookie持续以某种频率供外部程序调用;3)cookie在每天的固定某段时间供外部程序调用。一种网络爬虫伪装数据的生成系统,包括:浏览器的用户代理useragent字串库,用于存储useragent字串;代理IP资源池,用于提供并维护代理IP;cookie资源池,用于存储目标网站的cookie信息并进行维护;cookie采集器,用于根据cookie获取策略自动获取cookie信息并存储于所述cookie资源池,使用验证码破解策略破解目标网站验证码;并将cookie信息、代理IP、useragent字串、referer信息统一打包为伪装数据进行存储;外部获取接口,用于根据调度策略将所述伪装数据提供给外部爬虫程序使用。根据http协议的设计,自然人用户的网络数据请求有一些特征,包括cookie是由web服务器保存在客户端的用户身份信息,web服务器可以根据访问请求携带的cookie信息检测当前访问请求是否具有合法权限;referer记录了当前网页请求是从哪个url的页面跳转过来的,IP地址展示了网络请求来自哪个网络机器的地址;useragent记录了网络请求是在什么版本的浏览器软件上发送出的。本专利技术整合代理IP资源、浏览器版本信息资源,存储网站的用户名、密码等身份认证数据,以及存储网站的登录策略信息,构造出一套爬虫拟人化伪装数据,并以对外接口的形式,把打包的拟人化伪装数据发送给外部爬虫系统供其使用,爬虫系统可以在打包的拟人化伪装数据中有选择性地使用,将爬虫程序采集请求伪装为自然人用户的访问请求,正常访问网络。本方法使得爬虫程序与伪装数据生成系统的耦合度低,可以普遍应用,可以降低拦截可能性。附图说明图1是一种网络爬虫伪装数据的生成系统架构图。图2是一种网络爬虫伪装数据的生成方法流程图。具体实施方式为使本专利技术的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图作详细说明如下。本实施例提供一种网络爬虫伪装数据的生成方法及实现该方法的系统,系统架构如图1所示,方法如图2所示。(1)在现有的服务器上安装有多个浏览器可供使用,基于这些浏览器运行本系统。(2)尽可能多地收集浏览器的用户代理useragent字串存储在系统内部,建立useragent字串库,可称之为UA用户代理集合,内部存储收集的useragent。对于集合中的useragent字串,根据操作系统类型、渲染引擎标志、版本信息等数据分类建立索引,使之可根据这些特征获得符合要求的useragent字串。(3)在系统内部建立代理IP资源池,对于获取的代理IP,根据IP的地理位置将代理IP按照两级地理位置索引存储,其中,地理位置精确到市/县级,例如湖北黄冈。系统内部可以根据一个IP生成在同一个城市/县的代理IP地址。(4)cookie采集任务封装,系统从代理IP资源池取一个IP,从UA用户代理集合中获取一个用户代理useragent字串,根据cookie采集策略封装采集任务。将封装好的采集任务推进任务队列中。该cookie获取策略包括:i.用户的身份认证信息,对于需要登陆访问的网站,需要用户输入用户名、密码等身份信息才可以访问网站数本文档来自技高网...

【技术保护点】
1.一种网络爬虫伪装数据的生成方法,其步骤包括:/n从浏览器的用户代理useragent字串库中选择一useragent字串,从代理IP资源池中获取一代理IP;/n利用所述useragent字串和所代理IP访问目标网站,根据cookie获取策略,获取cookie信息并存储于cookie资源池;/n将所述cookie信息与所述useragent字串、所述代理IP、多个同城代理IP、referer信息关联存储,并打包成伪装数据;/n根据调度策略将所述伪装数据供外部爬虫程序使用。/n

【技术特征摘要】
1.一种网络爬虫伪装数据的生成方法,其步骤包括:
从浏览器的用户代理useragent字串库中选择一useragent字串,从代理IP资源池中获取一代理IP;
利用所述useragent字串和所代理IP访问目标网站,根据cookie获取策略,获取cookie信息并存储于cookie资源池;
将所述cookie信息与所述useragent字串、所述代理IP、多个同城代理IP、referer信息关联存储,并打包成伪装数据;
根据调度策略将所述伪装数据供外部爬虫程序使用。


2.根据权利要求1所述的方法,其特征在于,根据操作系统类型、渲染引擎标志、版本信息数据为useragent字串分类建立索引。


3.根据权利要求1所述的方法,其特征在于,所述useragent字串填充进访问http请求的header文件头的user-agent字段中。


4.根据权利要求1所述的方法,其特征在于,根据IP的地理位置将所述代理IP和所述同城代理IP按照市县两级地理位置索引存储。


5.根据权利要求1所述的方法,其特征在于,所述cookie获取策略包括:
1)对于登陆才可访问的网站,使用用户身份认证信息包括用户名、密码进行访问;对于无需登陆就可访问的网站,可直接进行访问;
2)cookie获取操作信息,包括获取cookie的选择下拉框、点击按钮、输入文本的操作信息、操作之间的先后顺序信息以及与操作相关的网页元素在html网页上的路径位置,该路径位置可使用xpath、css选...

【专利技术属性】
技术研发人员:余姚霖齐保元周美林王斌李鹏
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1