支持JavaScript解析的网页采集系统设计与实现

支持JavaScript解析的网页采集系统设计与实现

论文摘要

随着搜索引擎的广泛应用,网页采集技术得到了长足发展。网页采集是搜索引擎工作流程的第一站,采集的页面质量将直接影响到搜索引擎提供查询服务的优劣。最理想的情形是采集与用户视觉信息一致(Coherent with Users’Vision Information, CUVI)的页面,这一概念一直是搜索引擎领域的盲点。针对这一盲点,本文以抓取CUVI页面为宗旨设计并实现了一个网页采集系统。抓取CUVI页面首先需要进行网页重定向的处理操作,这是页面内JavaScript程序的主要功能之一。本文采集系统通过将JavaScript解析引入采集系统设计中,在很大程度上解决采集CUVI页面的问题。本文主要内容分JavaScript解析和采集系统设计与实现两部分展开。JavaScript(JS)解析部分,首先分析处理JavaScript的必要性,通过对典型数据进行调研分析,得到了JS程序在HTML文档中的功能分布。然后,根据采集系统对JavaScript解析的需求设计并实现了简易JS解析器——JSParser。最后,通过实验验证JSParser无论在性能上还是在功能上都能满足本文采集系统的需求。本文的采集系统由采集器和控制器两个模块组成。采集器在设计上,创新性地引入页面分析功能,并结合使用JSParser,达到了采集CUVI页面的初衷;在实现上,采用EPOLL技术解决了采集器对高并发度的要求。控制器维护一个站点IP FIFO (Fist In FistOut)队列,较好地解决了采集系统对IP和站点的抓取压力控制,使得采集器和互联网能够良好的协同工作。通过对系统进行多方面测试,得到引入JSParser对系统性能的影响不明显,并且本系统在IP富足的情况下,运行良好。

论文目录

  • 摘要
  • ABSTRACT
  • 第1章 绪论
  • 1.1 研究背景
  • 1.2 支持JavaScript解析的网页采集技术发展现状
  • 1.3 本文主要工作
  • 1.4 本文组织结构
  • 第2章 相关技术介绍
  • 2.1 JavaScript简介
  • 2.1.1 JavaScript语言概况
  • 2.1.2 JavaScript语言组成
  • 2.1.3 JavaScript在网页中的用法
  • 2.2 解析JavaScript的方法
  • 2.3 JS引擎介绍
  • 2.3.1 SpiderMonkey简介
  • 2.3.2 SpiderMonkey的使用
  • 2.4 搜索引擎简介
  • 2.5 搜索引擎组成部分
  • 2.5.1 爬虫器
  • 2.5.2 索引器
  • 2.5.3 索引库
  • 2.5.4 检索引擎
  • 2.6 搜索引擎国内外研究现状
  • 2.7 搜索引擎主要指标
  • 2.8 搜索引擎搜索策略
  • 2.8.1 无启发式搜索策略
  • 2.8.2 启发式搜索策略
  • 2.8.3 对广度优先搜索的优化
  • 2.9 本章小结
  • 第3章 JavaScript解析器的设计与实现
  • 3.1 引言
  • 3.2 处理JavaScript的必要性
  • 3.3 网页抓取对JavaScript解析的需求
  • 3.4 JSParser设计
  • 3.4.1 总体结构设计
  • 3.4.2 初始化JSParser
  • 3.4.3 总控制程序
  • 3.4.4 读取语句控制
  • 3.4.5 解释执行控制
  • 3.4.6 解释执行
  • 3.4.7 表达式计算
  • 3.5 JSParser性能测试
  • 3.6 本章小结
  • 第4章 采集系统设计与实现
  • 4.1 引言
  • 4.2 主要技术概要
  • 4.2.1 HTTP协议
  • 4.2.2 EPOLL技术
  • 4.3 系统总体设计
  • 4.4 模块工作模式
  • 4.5 采集模块详细设计
  • 4.5.1 模块结构图及说明
  • 4.5.2 算法描述
  • 4.5.3 需要考虑的问题及解决策略
  • 4.6 控制器设计
  • 4.6.1 模块结构图及说明
  • 4.6.2 URL接收
  • 4.6.3 URL选取
  • 4.6.4 URL分发
  • 4.6.5 页面收集
  • 4.6.6 URL监控
  • 4.7 系统测试
  • 4.7.1 JSParser对采集系统性能的影响
  • 4.7.2 采集系统性能测试
  • 4.8 本章小结
  • 第5章 总结与展望
  • 5.1 工作总结
  • 5.2 下一步的工作
  • 参考文献
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  ;  ;  

    支持JavaScript解析的网页采集系统设计与实现
    下载Doc文档

    猜你喜欢