htmlunit抓取动态网页(Ajax技术一改传统的静态网页架构模式分析及案例分析)

优采云 发布时间: 2021-09-26 09:02

  htmlunit抓取动态网页(Ajax技术一改传统的静态网页架构模式分析及案例分析)

  [摘要]:Ajax技术改变了传统的静态网页架构模型,利用JavaScript事件执行、状态识别和切换特性,使网页可以动态改变网页内容,而无需全部刷新,造成网络资源传统网络无法使用的。Crawler 爬取已经成为一种区别于 Surface Web 的 Deep Web 资源。目前的Ajax网站构建技术已经得到广泛应用。但是,这导致大量的 Deep Web 资源被隐藏,无法被人们使用。因此,使用一种能够有效捕获Ajax动态脚本网页的方法来提取Deep Web资源变得越来越重要。本文首先分析了Ajax技术的原理和Deep Web资源产生的根源,然后讲解了网络爬虫技术的工作原理和爬虫系统的构建方法。使用软件工程方法,设计并实现了解析Ajax动态网页信息和抓取Spideep的能力,Spideep是一个抓取Deep Web网络资源的爬虫系统。本文详细介绍了深网爬虫系统的需求分析、大纲设计、详细设计、整体实现、模块实现的软件开发过程。系统分为三个主要模块,即生产线(Worker Line)模块和任务管理(Task management)模块。Manager)模块、URL调度(Scheduler)模块。

  其中,产线模块包括四个子模块:Fetcher、Extractor、Filter、Writer。在系统实现中,针对Ajax页面的爬取,本文在爬虫系统中嵌入了一个无界面的浏览器HtmlUnit。初步分析和重构DOM树,然后利用HtmlUnit提供的大量web组件模拟浏览器的各种操作行为,如点击按钮、翻页、滑动等用户操作行为,进一步隐藏隐藏的Deep Web 信息动态地出现,最后使用 Web 解析工具 HtmlParser 或 Jsoup 解析 DOM 树,获取有价值的 Deep Web 信息。最后通过设计实验验证了支持Ajax的Deep Web爬虫系统Spideep的三个方面的性能,即:对Spideep系统的Ajax页面抓取能力、稳定性和有效性进行了详细分析,并对实验结果进行了详细分析。实验结果表明,Spideep系统性能良好,满足预期使用要求。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线