The invention relates to a web search engine technology, and aims to provide a web crawler system based on browser kernel. The web crawler system based on browser kernel includes browser engine module, network communication module and policy module, which can be used to analyze the page and find the URL of other pages. The invention uses dynamic analysis technology, through the built-in browser kernel, to dynamic load dependent resources, and execute the Javascript script, the DOM nodes are dynamic operations such as mouse click, double-click, press enter and other events, to find new pages, make up the traditional crawler.
【技术实现步骤摘要】
本专利技术是关于网页搜索引擎
,特别涉及一种基于浏览器内核的网络爬虫系统。
技术介绍
网络爬虫有着广泛的应用场景,它是网页搜索引擎的重要组成部分,也被用来获取网络中的特定信息。网络爬虫最核心的功能就是从一个页面中发现其他页面的URL。目前常见的网络爬虫,都是基于对页面的静态分析的——在分析页面时,不会去动态的执行页面中的Javascript脚本,也不会加载页面中的图片、脚本等资源。静态分析页面时,主要提取页面中的<a>标签、<form>标签等可能含有指向其他页面URL的内容。随着互联网技术飞速发展,网页的实现方式也越来越多样化,各种前端技术手段层出不穷,传统的对页面进行静态分析的方法要想分析这些页面,就变得越来越难,比如:1.页面中的按钮在被点击时,向服务器的另一个页面发送一个Ajax请求;2.页面中的<a>标签是在页面中的Javascript脚本执行时动态生成的。在例子1中,Ajax请求被发到哪里只有执行过Javascript脚本才知道。Ajax请求的目的URL可能指向一个新的页面。如果用静态分析的方法来分析页面,就可能漏掉这个页面了。在例子2中,<a>标签是在浏览器中执行Javascript脚本才会产生并显示给用户的,如果只是静态分析,根本无法在页面的源码中找到该标签。
技术实现思路
本专利技术的主要目的在于克服现有技术中的不足,提供一种能够抓取Ajax请求中的URL以及动态构建的DOM节点中含有的URL的系统。为解决上述技术问题,本专利技术的解决方案是:提供一种基于浏览器内核的网络爬虫系统,用于进行 ...
【技术保护点】
一种基于浏览器内核的网络爬虫系统,用于进行页面分析并发现其他页面的URL,其特征在于,所述基于浏览器内核的网络爬虫系统包括浏览器引擎模块、网络通信模块、策略模块;所述浏览器引擎模块用于接收一个网页的URL作为输入,加载该页面以及对页面进行分析,并动态执行页面中的脚本;浏览器引擎模块在加载完一个页面之后,能形成一个DOM树,DOM树中的需要通过事件触发JS操作的DOM节点会绑定事件;所述网络通信模块是浏览器引擎模块与网络服务器进行交互的模块,用于发送和接收网络数据包,从而获取URL;网络通信模块能处理http请求、ftp通信,并抓取浏览器引擎模块发送的网络数据包,用于通过抓取的网络数据包来获取和本页面有关的所有其他URL;所述策略模块能在浏览器引擎模块一个页面加载完成后,触发页面中的DOM节点绑定的事件,用于执行页面中只有通过触发才能执行到的Javascript代码。
【技术特征摘要】
1.一种基于浏览器内核的网络爬虫系统,用于进行页面分析并发现其他页面的URL,其特征在于,所述基于浏览器内核的网络爬虫系统包括浏览器引擎模块、网络通信模块、策略模块;所述浏览器引擎模块用于接收一个网页的URL作为输入,加载该页面以及对页面进行分析,并动态执行页面中的脚本;浏览器引擎模块在加载完一个页面之后,能形成一个DOM树,DOM树中的需要通过事件触发JS操作的DOM节点会绑定事件;所述网络通信模块是浏览器引擎模块与网络服务器进行交互的模块,用于发送和接收网络数据包,从而获取URL;网络通信模块能处理http请求、ftp通信,并抓取浏览器引擎模块发送的网络数据包,用于通过抓取的网络数据包来获取和本页面有关的所有其他URL;所述策略模块能在浏览器引擎模块一个页面加载完成后,触发页面中的DOM节点绑定的事件,用于执行页面中只有通过触发才能执行到的Javascript代码。2.根据权利要求1所述的一种基于浏览器内核的网络爬虫系统,其特征在于,所述浏览器引擎模块能采用webkit、blink、Trident或者Gecko实现。3.根据权利要求1所述的一种基于浏览器内核的网络爬虫系统,其特...
【专利技术属性】
技术研发人员:范渊,陈刚,黄进,
申请(专利权)人:杭州安恒信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。