网络数据抓取方法和爬虫技术

技术编号:15238787 阅读:594 留言:0更新日期:2017-04-29 04:14
本发明专利技术提出一种网络数据抓取方法和爬虫,涉及互联网技术领域。其中,本发明专利技术的一种网络数据抓取方法包括:调用浏览器发起网页访问请求;模拟用户操作,获取返回页面;在返回页面中提取目标内容。通过这样的方法,能够调用真实的浏览器,在真实浏览器上模拟用户的操作,并对网页反馈的内容进行数据抓取,从而实现了对异步请求反馈信息的内容抓取,提高网络数据抓取能力。

【技术实现步骤摘要】

本专利技术涉及互联网
,特别是一种网络数据抓取方法和爬虫。
技术介绍
网络爬虫是一种自动提取网页内容的程序,它按照一定的规则抓取互联网信息。网络爬虫一般从一个或若干个初始网页的URL(UniformResourceLocator,统一资源定位符)开始,获得初始网页上的内容,并继续抽取满足规则的新的URL,将其放入队列,周而复始,直到完成满足系统设定的一定条件时停止。普通的网络爬虫能够获取静态页面的内容,但是目前大量的网站使用了Ajax(AsynchronousJavascriptAndXML,异步JavaScript和XML(ExtensibleMarkupLanguage,可扩展标记语言))技术,对于这种类型的网站,普通爬虫仅能获取网页中同步请求的数据,无法对异步请求进行及时的响应和处理,导致爬虫无法获取目标内容。
技术实现思路
本专利技术的一个目的在于实现网络爬虫对于一部请求数据的抓取,提高网络爬虫的网络数据抓取能力。根据本专利技术的一个方面,提出一种网络数据抓取方法,包括:调用浏览器发起网页访问请求;模拟用户操作,获取返回页面;在返回页面中提取目标内容。可选地,调用浏览器发起网页访问请求包括:在请求者地址列表中选取IP(InternetProtocol,互联网协议)地址;调用浏览器,采用IP地址作为源地址发起网页访问请求。可选地,还包括:若采用IP地址作为源地址无法访问目标网页,则从请求者地址列表中删除IP地址。可选地,调用浏览器发起网页访问请求还包括:判断请求者地址列表中IP地址的数量是否达到预定门限;若IP地址的数量小于预定门限,则在请求者地址列表中填充IP地址。可选地,用户操作包括点击、滑动滚轮和/或输入内容并提交。可选地,在返回页面中提取目标内容包括:判断返回网页是否为不标准网页和/或加载不完全的网页;若返回网页为不标准网页和/或加载不完全的网页,则通过正则表达式在返回页面中提取目标内容;否则,通过XPATH(XMLPathLanguage,可扩展标记语言路径语言)在返回页面中提取目标内容。通过这样的方法,能够调用真实的浏览器,在真实浏览器上模拟用户的操作,并对网页反馈的内容进行数据抓取,从而实现了对异步请求反馈信息的内容抓取,提高网络数据抓取能力。根据本专利技术的另一个方面,提出一种网络爬虫,包括:请求访问模块,用于调用浏览器发起网页访问请求;用户模拟模块,用于模拟用户操作;网页内容获取模块,用于获取返回页面;内容提取模块,用于在返回页面中提取目标内容。可选地,请求访问模块包括:源地址获取单元,用于在请求者地址列表中选取IP地址;访问单元,用于调用浏览器,采用IP地址作为源地址发起网页访问请求。可选地,还包括:地址删除模块,用于当采用IP地址作为源地址无法访问目标网页时,从请求者地址列表中删除IP地址。可选地,请求访问模块还包括:数量判断单元,用于判断请求者地址列表中IP地址的数量是否达到预定门限;地址填充单元,用于当网页地址的数量小于预定门限时,在待搜索地址列表填充网页地址。可选地,用户操作包括点击、滑动滚轮和/或输入内容并提交。可选地,内容提取模块包括:页面判断单元,用于判断返回网页是否为不标准网页和/或加载不完全的网页;提取操作单元,用于当返回网页为不标准网页和/或加载不完全的网页时,通过正则表达式在返回页面中提取目标内容;否则,通过XPATH在返回页面中提取目标内容。这样的网络爬虫能够调用真实的浏览器,在真实浏览器上模拟用户的操作,并对网页反馈的内容进行数据抓取,从而实现了对异步请求反馈信息的内容抓取,提高了网络数据抓取能力。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术的网络数据抓取方法的一个实施例的流程图。图2为本专利技术的网络数据抓取方法中发起访问请求的一个实施例的流程图。图3为本专利技术的网络数据抓取方法中提取目标内容的一个实施例的流程图。图4为本专利技术的网络抓取方法的另一个实施例的流程图。图5为本专利技术的网络爬虫的一个实施例的示意图。图6为本专利技术的网络爬虫中请求访问模块的一个实施例的示意图。图7为本专利技术的网络爬虫中请求访问模块的另一个实施例的示意图。图8为本专利技术的网络爬虫中内容提取模块的一个实施例的示意图。具体实施方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。本专利技术的网络数据抓取方法的一个实施例的流程图如图1所示。在步骤101中,根据待搜索地址列表调用浏览器发起网页访问请求。在步骤102中,模拟用户操作,获取返回页面。在一个实施例中,用户操作包括点击、滑动滚轮,以及输入内容并提交中的一个或多个。在步骤103中,在返回页面中提取目标内容。在一个实施例中,提取目标内容的操作可以包括返回页面长度判断、目标内容搜索等。在一个实施例中,可以利用XPATH在返回页面中提取目标内容,也可以用正则表达式在返回页面中提取目标内容。在一个实施例中,可以存储该提取到的目标内容,也可以存储提取到的目标内容及其网页地址,便于后期对于提取到的内容进行分析应用。通过这样的方法,能够调用真实的浏览器,在真实浏览器上模拟用户的操作,并对网页反馈的内容进行数据抓取,从而实现了对异步请求反馈信息的内容抓取,提高网络数据抓取能力。另外,虽然与传统的爬虫相比调用浏览器会降低抓取效率,但是更低的抓取频率对被抓取网站的服务器更友好,不会对服务器造成压力影响网站运行,同时也避免了浏览器源IP地址被网站服务器限制。在一个实施例中,由于部分网站出于服务器压力考虑,会对某一个或者某一段IP进行限制访问,为避免无法访问,可以采用代理IP发送访问请求。可以从请求者地址列表中选取IP地址,并调用浏览器,采用该IP地址作为源地址发起网页访问请求。在一个实施例中,可以从请求者地址列表中随机选择IP地址作为源地址。通过这样的方法,能够避免由于IP地址被限制访问造成的无法抓取网页中内容的情况,提高了网络数据抓取能力。在一个实施例中,当将某IP地址作为源地址发起网页访问请求,但被网页拒绝时,则判断该IP地址被网页限制访问,或无法到达该网页,将该IP地址从请求者地址列表中删除。通过这样的方法,能够及时删除受限的源地址,从而避免反复使用该地址进行访问造成的资源浪费,提高了数据抓取效率。本专利技术的网络数据抓取方法中发起访问请求的一个实施例的流程图如图2所示。在步骤201中,判断请求者地址列表中IP地址的数量是否达到预定门限。在一个实施例中,预定门限可以为1,即已没有备选IP地址。预定门限也可以是其他预设的数量。若网页地址的数量小于预定门限,则执行步骤204;若网页地址的数量不小于预定门限,则执行步骤202。在步骤202中,从请求者地址列表中选取IP地址。在一个实施例中,可以随机提取IP地址。在步骤203中,调用浏览器,采用该IP地址作为源地址发起网页访问请求。在步骤204中,在请求者地址列表中填充IP地址。通过这样的方法,能够在请求者地址列表中地址减少到门限值时及时补充,保证可以获取IP地址作为源地址,采用代理IP的方式进行网页访问,从而维持了网络爬虫长期、稳定的运行。本专利技术的网络数据抓取方法中提取目标内本文档来自技高网...

【技术保护点】
一种网络数据抓取方法,其特征在于,包括:调用浏览器发起网页访问请求;模拟用户操作,获取返回页面;在所述返回页面中提取目标内容。

【技术特征摘要】
1.一种网络数据抓取方法,其特征在于,包括:调用浏览器发起网页访问请求;模拟用户操作,获取返回页面;在所述返回页面中提取目标内容。2.根据权利要求1所述的方法,其特征在于,所述调用浏览器发起网页访问请求包括:在请求者地址列表中选取互联网协议IP地址;调用所述浏览器,采用所述IP地址作为源地址发起所述网页访问请求。3.根据权利要求2所述的方法,其特征在于,还包括:若采用所述IP地址无法访问目标网页,则从所述请求者地址列表中删除所述IP地址。4.根据权利要求3所述的方法,其特征在于,所述调用浏览器发起网页访问请求还包括:判断所述请求者地址列表中IP地址的数量是否达到预定门限;若所述IP地址的数量小于所述预定门限,则在所述请求者地址列表中填充所述IP地址。5.根据权利要求1所述的方法,其特征在于,所述用户操作包括点击、滑动滚轮和/或输入内容并提交。6.根据权利要求1~5任意一项所述的方法,其特征在于,所述在所述返回页面中提取目标内容包括:判断所述返回网页是否为不标准网页和/或加载不完全的网页;若所述返回网页为不标准网页和/或加载不完全的网页,则通过正则表达式在所述返回页面中提取所述目标内容;否则,通过可扩展标记语言路径语言XPATH在所述返回页面中提取所述目标内容。7.一种网络爬虫,其特征在于,包括:请求访问模块,用于调用浏览器发起网页访问请求;用户...

【专利技术属性】
技术研发人员:张长宽叶伟荣潘军剑朱晨光
申请(专利权)人:浙江省公众信息产业有限公司
类型:发明
国别省市:浙江;33

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

1