一种网络爬虫实现方法和网络爬虫系统的制作方法
【技术领域】
[0001]本发明涉及计算机技术领域,具体涉及一种网络爬虫实现方法和网络爬虫系统。
【背景技术】
[0002]网络爬虫,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。网络爬虫一般驻留在服务器上,通过给定的一些URL (Uniform Resource Locator,统一资源定位符),利用HTTP (Hyper Text Transfer Protocol,超文本传输协议)等标准协议读取相应文档,然后以文档中包括的所有未访问过的URL作为新的起点,继续进行漫游,直到没有满足条件的新URL为止。
[0003]然而,由于网络爬虫排除标准协议(Robots Exclus1n Protocol)的限制,网站可以通过建立robots, txt文件限制网络爬虫爬取网站的全部或部分数据,行为良好的网络爬虫不应当访问robots, txt中禁止查看的信息。而这样就造成许多可以通过正常访问网页获得的资源无法通过网络爬虫来获得。
【发明内容】
[0004]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的网络爬虫实现方法和网络爬虫系统。
[0005]依据本发明的一个方面,提供了一种网络爬虫实现方法,包括:
[0006]模拟用户对网页的访问操作发送网页访问请求;
[0007]根据网页访问请求对应的反馈内容获得相应的网页内容;
[0008]分析获得的网页内容,获得目标信息。
[0009]可选地,所述模拟用户对网页的访问操作发送网页访问请求包括:
[0010]调用浏览器内核进行访问网页的操作,获得相应的网页内容。
[0011]可选地,该方法进一步包括:预先配置网址列表;
[0012]所述调用浏览器内核进行访问网页的操作,获得相应的网页内容包括:调用浏览器内核依次访问所述网址列表中的各网址对应的网页,获得相应的网页内容。
[0013]可选地,该方法进一步包括:预先配置IP地址列表;
[0014]所述调用浏览器内核进行访问网页的操作包括:从所述预设IP地址列表中选择一个IP地址,调用浏览器内核以所选择的IP地址作为访问者地址进行访问网页操作。
[0015]可选地,该方法进一步包括:
[0016]当接收到拒绝访问网页的反馈消息时,从所述预设IP地址列表中重新选择一个IP地址,调用浏览器内核以重新选择的IP地址作为访问者地址进行访问网页操作。
[0017]可选地,所述调用浏览器内核进行访问网页的操作,获得相应的网页内容包括:
[0018]调用浏览器内核根据本地的cookie进行访问网页的操作,获得相应的网页内容。
[0019]依据本发明的另一方面,提供了一种网络爬虫系统,包括:
[0020]网页访问处理单元,适于模拟用户对网页的访问操作发送网页访问请求;根据网页访问请求对应的反馈内容获得相应的网页内容;
[0021 ] 分析单元,适于分析获得的网页内容,获得目标信息。
[0022]可选地,所述网页访问处理单元包括:
[0023]调用单元,适于调用浏览器内核进行访问网页的操作,获得相应的网页内容;
[0024]浏览器内核,适于根据调用单元的指令进行访问网页的操作。
[0025]可选地,该系统进一步包括:网址配置单元,适于预先配置网址列表;
[0026]所述调用单元,适于调用浏览器内核依次访问所述网址列表中的各网址对应的网页,获得相应的网页内容。
[0027]可选地,该系统进一步包括:IP地址配置单元,适于预先配置IP地址列表;
[0028]所述调用单元,适于从所述预设IP地址列表中选择一个IP地址,调用浏览器内核以所选择的IP地址作为访问者地址进行访问网页操作。
[0029]可选地,所述调用单元,适于当接收到拒绝访问网页的反馈消息时,从所述预设IP地址列表中重新选择一个IP地址,调用浏览器内核以重新选择的IP地址作为访问者地址进行访问网页操作。
[0030]可选地,所述调用单元,适于调用浏览器内核根据本地的cookie进行访问网页的操作,获得相应的网页内容。
[0031]由上述可知,本发明的技术方案,通过模拟用户对网页的访问操作,向网站服务器发送网页访问请求,并获取网站服务器根据该网页访问请求返回的反馈内容,进一步获得相应的网页内容,并从中分析获得相应的网页内容。通过该技术方案实现的网络爬虫并不直接访问网站服务器获取资源,而是通过模拟正常用户的网页访问请求,在客户端如浏览器获取到网页内容,避免了受到网站设置的robots, txt中对网络爬虫获取数据内容的限制,并且获取到的内容也是通过正当途径访问网页获取的,既可以满足用户爬取数据的需求,也不违反网站服务提供方的约束。
[0032]模拟用户对网页的访问操作发送网页访问请求;根据网页访问请求对应的反馈内容获得相应的网页内容;分析获得的网页内容,获得目标信息。。
[0033]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0034]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0035]图1示出了根据本发明一个实施例的一种网络爬虫实现方法的流程图;
[0036]图2示出了根据本发明一个实施例的一种网络爬虫系统的结构示意图。
【具体实施方式】
[0037]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0038]图1示出了根据本发明一个实施例的一种网络爬虫实现方法的流程图,如图1所示,该方法包括:
[0039]步骤S110,模拟用户对网页的访问操作发送网页访问请求。其中,可以通过客户端如浏览器发送网页访问请求。
[0040]步骤S120,根据网页访问请求对应的反馈内容获得相应的网页内容。
[0041]与现有技术中的网络爬虫不同,本实施例中的网络爬虫由于并不直接从网站服务器获取资源,而是通过网页访问请求对应的反馈内容获得相应的网页内容,如一个或多个静态HTML(Hyper Text Markup Language,超文本标记语言)文件,而这些网页内容有些是需要在客户端如浏览器对反馈内容中的某些数据,如CSS(Cascading Style Sheets,层叠样式表)文件进行计算才能得到的,因此,本实施例中的网络爬虫与现有技术中的网络爬虫实际获取的数据也是不同的。
[0042]步骤S130,分析获得的网页内容,获得目标信息。
[0043]可见,图1所示的方法,通过模拟用户对网页的访问操作,向网站服务器发送网页访问请求,并获取网站服务器根据该网页访问请求返回的反馈内容,进一步获得相应的网页内容,并从中分析获得相应的网页内容。通过该技术方案实现的网络爬虫并不直接访问网站服务器获取资源,而是通过模拟正常用户的网页访问请求,在客户端如浏览器获取到网页内容,避免了受到网站设置的robots, txt中对网络爬虫获取数据内容的限制,并且获取到的内容也是通过正当途径访问网页获取的,既可以满足用户爬取数据的需求,也不违反网站服务提供方的约束。
[0044]在本发明的一个实施例中,图1所示的方法中,模拟用户对网页的访问操作发送网页访问请求包括:调用浏览器内核进行访问网页的操作,获得相应的网页内容。
[0045]在现有技术中,虽然许多普遍被使用的浏览器如IE、Chrome都是单核浏览器(浏览器仅包含一个浏览器内核),但也出现了如360安全浏览器、猎豹浏览器等多核浏览器(浏览器中包含多个浏览器内核)。而不同的网页针对Trident、WebKit内核的浏览器呈现的网页页面可能是不同的,因此可以根据需求选取需要调用的内核进行问网页的操作,获得相应的网页内容。特别地,也可以将特定的浏览器内核封装在网络爬虫程序中。
[0046]在本发明的一个实施例中,上述方法进一步包括:预先配置网址列表;调用浏览器内核进行访问网页的操作,获得相应的网页内容包括:调用浏览器内核依次访问网址列表中的各网址对应的网页,获得相应的网页内容。
[0047]在本实施例中,网络爬虫根据预先配置网址列表,调用浏览器内核依次访问网址列表中各网址对应的网页。而对于每个网页中,可能还包含多个包含网址的超链接,该