网页内容爬取的方法和装置制造方法及图纸

技术编号:13736637 阅读:85 留言:0更新日期:2016-09-22 04:56
本公开提供一种网页内容爬取的方法和装置,包括:调度爬取任务;当查询到所述爬取任务有代理设置时,获取代理IP队列;进行资源管理处理;由数据抓取引擎采用多线程并行处理的方式进行数据抓取;各个线程对各自所抓取的数据交由解析引擎进行数据解析,并对解析数据进行持久化操作。本公开所述解决了一般网页和需要登录的网站的各个功能的爬取工作,爬取的任务由爬取组件完成,且实现了快速准确,同时还能够分析出目标网站的层级关系,形成清晰的爬取目标结构图,为爬取的数据建立起清晰的关系,通过反监控管理实现了反爬技术,为最终得到目标数据扫清了障碍。

【技术实现步骤摘要】

本公开总体涉及网页
,具体而言,涉及一种网页内容爬取的方法和装置
技术介绍
近年来,随着Web信息爆炸式的增长,如何有效的在Web中获取有用的信息已变得极其困难。目前互联网网站爬虫技术在丰富公司数据、获取多源数据中扮演着重要的作用,同时爬虫技术也是数据挖掘不可缺少的工具。其中爬虫技术在搜索引擎领域应用非常广泛,但是随着网络变得越来越复杂,这些通用的搜索引擎有时也会在信息领航中也会迷失方向,所以将爬虫技术仅仅应用于搜索引擎方向还是远远不够的。对于一个大规模的网页内容爬取系统,常用的几种通过网页爬虫进行爬取的策略各有优缺点,网络爬虫也面临两个问题:一是网络爬虫需要解决的技术问题;二是网络爬虫存在的局限性。为了高效的对页面进行抓取,在进行并行抓取的同时,保证各进程间通信的问题,让各个组件之间进行高效的工作。URL的调度技术在网络爬虫系统的设计中起着关键的作用,提出了基于概率模型的启发示度量规则,使网络系统具有更加智能的路由功能,以便于始终可以向着用户设定的主题进行页面获取。基网络爬虫系统基于概率模型的启发示度量规则,另外还基于最佳优先搜索的隧道技术,用于克服对某个主题在进行抓取多次后,如果偏离了原先的主题,可以让其迅速停止工作,从而在URL队列中选取下一个URL作为下一次的页面抓取出发点。但是,现在爬虫技术大部分是针对互联网上单个网页的爬取,遇到需要登录后才能查询相关信息的网站就无法进行爬取。因此,需要一种新的网页内容爬取的方法和装置。在所述
技术介绍
部分公开的上述信息仅用于加强对本公开的背景的
理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本公开提供一种网页内容爬取的方法和装置,以解决现有技术中对于需要登录后才能查询相关信息的网站取法进行爬取的技术问题。本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。根据本公开的一方面,提供一种网页内容爬取的方法,包括:调度爬取任务;当查询到所述爬取任务有代理设置时,获取代理IP队列;进行资源管理处理;由数据抓取引擎采用多线程并行处理的方式进行数据抓取;各个线程对各自所抓取的数据交由解析引擎进行数据解析,并对解析数据进行持久化操作。根据本公开的一实施方式,根据预设的时间周期定时地调度所述爬取任务。根据本公开的一实施方式,所述当查询到所述爬取任务有代理设置时,获取代理IP队列的步骤包括:判断所述爬取任务是否需要设置代理IP;如果需要设置代理IP,则从配置表中查询针对当前系统已配置的代理IP地址队列;从所述已配置的代理IP地址队列中取出一个IP地址;检测取出的IP地址是否能够爬取通过,如果能够通过则即为找到有效IP;按照队列顺序采用轮循方式取出下一个IP地址进行检测,所有爬取通过的有效IP构成所述代理IP队列,以便对网页内容进行爬取。根据本公开的一实施方式,通过模拟用户登录进行资源管理处理,包括初始化cookie信息,具体包括:判断是否存在已有的cookie,如果存在已有的cookie则进一步判断所述
已有的cookie是否有效;如果没有所述已有的cookie或者所述已有的cookie已失效,则重新生成cookie。根据本公开的一实施方式,还包括:如果所述已有的cookie仍有效,则使用所述已有的cookie或重新生成的cookie来获取图片验证码,当图片验证获取成功后组织登录参数;动态拼装所述登录参数后请求登录接口,如果通过所述登录接口能够成功登录则更新所述已有的cookie,如果未能成功登录则判断是否继续登录,如果继续登录则重新所述初始化cookie信息。根据本公开的一实施方式,所述进行数据抓取包括:模拟浏览器打开目标网站;判断是否成功打开所述目标网站,如果没有打开则结束;如果成功打开则获取所述目标网站上的所有表单控件,并进行逐一赋值后提交表单数据;加载JS请求,并根据所述JS请求返回JSON格式数据。根据本公开的一实施方式,所述解析引擎结合解析规则针对不同类型的返回数据进行数据解析,所述返回数据的类型包括JSON格式数据、HTML格式数据以及通过JS动态加载得到的数据。根据本公开的一实施方式,所述方法还包括:进行数据结构化操作,从数据源中抽取出所需的数据,经过数据清洗,并按照预先定义好的数据模型,将清洗后的数据加载到数据模型中。根据本公开的再一方面,还提供一种网页内容爬取的装置,包括:任务调度模块,用于调度爬取任务;代理IP模块,用于当查询到所述爬取任务有代理设置时,获取代理IP队列;资源管理模块,用于进行资源管理处理;数据抓取模块,用于由数据抓取引擎采用多线程并行处理的方式进行数据抓取;数据持久化模块,用于各个线程对各自所抓取的数据交由解析引擎进行数据解析,并对解析数据进行持久化操作。根据本公开的一实施方式,所述任务调度模块根据预设的时间周期定时地调度所述爬取任务。根据本公开的一实施方式,所述代理IP模块包括:判断子模块,用于判断所述爬取任务是否需要设置代理IP;查询子模块,用于当所述判断子模块的判断结构为需要设置代理IP时,从配置表中查询针对当前系统已配置的代理IP地址队列;取出IP地址子模块,用于从所述已配置的代理IP地址队列中取出一个IP地址;检测子模块,用于检测取出的IP地址是否能够爬取通过,如果能够通过则即为找到有效IP;轮循子模块,用于按照队列顺序采用轮循方式取出下一个IP地址进行检测,所有爬取通过的有效IP构成所述代理IP队列,以便对网页内容进行爬取。根据本公开的一实施方式,所述资源管理模块包括:初始化子模块,用于初始化cookie信息,判断是否存在已有的cookie,如果存在已有的cookie则进一步判断所述已有的cookie是否有效;当没有所述已有的cookie或者所述已有的cookie已失效时,重新生成cookie。根据本公开的一实施方式,所述资源管理模块还包括:图片验证子模块,用于当所述已有的cookie仍有效时,使用所述已有的cookie或重新生成的cookie来获取图片验证码,当图片验证获取成功后组织登录参数;动态拼装所述登录参数后请求登录接口,如果通过所述登录接口能够成功登录则更新所述已有的cookie,如果未能成功登录则判断是否继续登录,如果继续登录则重复所述初始化子模块。根据本公开的一实施方式,所述数据抓取模块包括:模拟打开网站子模块,用于模拟浏览器打开目标网站;打开成功判断子模块,用于判断是否成功打开所述目标网站,如果没有打开则结束;如果成功打开则转至提交表单数据子模块;提交表单数据子模块,用于获取所述目标网站上的所有表单控件,并进行逐一赋值后提交表单数据;加载JS请求子模块,用于加载JS请求,并根据所述JS请求返回JSON
格式数据。根据本公开的一实施方式,所述数据持久化模块通过解析引擎结合解析规则针对不同类型的返回数据进行数据解析,所述返回数据的类型包括JSON格式数据、HTML格式数据以及通过JS动态加载得到的数据。根据本公开的一实施方式,所述装置还包括:数据结构化模块,用于进行数据结构化操作,从数据源中抽取出所需的数据,经过数据清洗,并按照预先定义好的数据模型,将清洗后的数据加载到数据模型中。根据本公开的技本文档来自技高网
...
网页内容爬取的方法和装置

【技术保护点】
一种网页内容爬取的方法,其特征在于,包括:调度爬取任务;当查询到所述爬取任务有代理设置时,获取代理IP队列;进行资源管理处理;由数据抓取引擎采用多线程并行处理的方式进行数据抓取;各个线程对各自所抓取的数据交由解析引擎进行数据解析,并对解析数据进行持久化操作。

【技术特征摘要】
1.一种网页内容爬取的方法,其特征在于,包括:调度爬取任务;当查询到所述爬取任务有代理设置时,获取代理IP队列;进行资源管理处理;由数据抓取引擎采用多线程并行处理的方式进行数据抓取;各个线程对各自所抓取的数据交由解析引擎进行数据解析,并对解析数据进行持久化操作。2.根据权利要求1所述的方法,其特征在于,根据预设的时间周期定时地调度所述爬取任务。3.根据权利要求1所述的方法,其特征在于,所述当查询到所述爬取任务有代理设置时,获取代理IP队列的步骤包括:判断所述爬取任务是否需要设置代理IP;如果需要设置代理IP,则从配置表中查询针对当前系统已配置的代理IP地址队列;从所述已配置的代理IP地址队列中取出一个IP地址;检测取出的IP地址是否能够爬取通过,如果能够通过则即为找到有效IP;按照队列顺序采用轮循方式取出下一个IP地址进行检测,所有爬取通过的有效IP构成所述代理IP队列,以便对网页内容进行爬取。4.根据权利要求1所述的方法,其特征在于,通过模拟用户登录进行资源管理处理,包括初始化cookie信息,具体包括:判断是否存在已有的cookie,如果存在已有的cookie则进一步判断所述已有的cookie是否有效;如果没有所述已有的cookie或者所述已有的cookie已失效,则重新生成cookie。5.根据权利要求4所述的方法,其特征在于,还包括:如果所述已有的cookie仍有效,则使用所述已有的cookie或重新生成的cookie来获取图片验证码,当图片验证获取成功后组织登录参数;动态拼装所述登录参数后请求登录接口,如果通过所述登录接口能够成
\t功登录则更新所述已有的cookie,如果未能成功登录则判断是否继续登录,如果继续登录则重新所述初始化cookie信息。6.根据权利要求1所述的方法,其特征在于,所述进行数据抓取包括:模拟浏览器打开目标网站;判断是否成功打开所述目标网站,如果没有打开则结束;如果成功打开则获取所述目标网站上的所有表单控件,并进行逐一赋值后提交表单数据;加载JS请求,并根据所述JS请求返回JSON格式数据。7.根据权利要求1所述的方法,其特征在于,所述解析引擎结合解析规则针对不同类型的返回数据进行数据解析,所述返回数据的类型包括JSON格式数据、HTML格式数据以及通过JS动态加载得到的数据。8.根据权利要求1所述的方法,其特征在于,所述方法还包括:进行数据结构化操作,从数据源中抽取出所需的数据,经过数据清洗,并按照预先定义好的数据模型,将清洗后的数据加载到数据模型中。9.一种网页内容爬取的装置,其特征在于,包括:任务调度模块,用于调度爬取任务;代理IP模块,用于当查询到所述爬取任务有代理设置时,获取代理IP队列;资源管理模块,用于进行资源管理处理...

【专利技术属性】
技术研发人员:孔祥旭张泽斌周勇
申请(专利权)人:考拉征信服务有限公司
类型:发明
国别省市:北京;11

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

1