搜索引擎中网络爬虫的开发研究毕业论文
2021-04-25 23:18:04
摘 要
互联网技术的飞速发展,从网络了解信息已经成为用户接受信息的一个首要渠道。而用户获取信息是通过各种多媒体获取的,各式各样的多媒体便构成了庞大的具有异构性、开放性特点的分布式数据库。网络信息的出现以及与计算机技术的结合大大加速了两者的发展,目前已经成为非常重要的手段之一。
本文简单介绍了My Eclipse编程环境和JAVA编程语言的功能特点以及JSP技术,设计了一套搜索引擎的网络爬虫。以京东商城为例,系统主要功能包含了网站信息爬取、信息存储以及信息分析,通过这些功能对网站产品进行分析、分类和比较。同时在设计上采用了Regular Expression分析html,多线程递归存储,URL类访问网络以及广度优先搜索算法等网络爬虫的相关技术和知识。论文中包含系统的需求分析、体系结构,功能模块的划分以及各功能的阐述等,最主要的是对应用程序的实践开发是如何完成的作了具体的介绍,确保所得数据的真实性,可靠性以及一致性,保障应用程序功能的齐全和完备,符合系统的要求。
关键词:网络爬虫;JSP;Java;数据挖掘
ABSTRACT
With the rapid development of Internet technology, from the network to understand the information has become a primary channel for users to accept information. And the user access to information through a variety of multimedia access, a wide range of multimedia will constitute a huge heterogeneous, open features of the distributed database. The emergence of network information and the combination of computer technology has greatly accelerated the development of both, has now become a very important means.
This article briefly introduces the function of My Eclipse programming environment and JAVA programming language and JSP technology, designed a search engine network crawler. Taking Jingdong Mall as an example, the main function of the system includes website information crawling, information storage and information analysis. Through these functions, the website products are analyzed, classified and compared. At the same time in the design using the regular Expression analysis html, multi-threaded recursive storage, URL class access network and breadth-first search algorithm and other network reptiles related technology and knowledge. This paper contains the system needs analysis, architecture, functional module division and the description of each function, the most important is the application of the practice of development is how to complete a specific introduction to ensure the authenticity of the data obtained, reliable As well as consistency, to ensure that the application function is complete and complete, in line with system requirements.
Keywords:web crawler; JSP; Java ;Data mining
目录
第1章 绪论 1
1.1选题背景及意义 1
1.2论文研究的主要内容 1
1.3 论文组织结构 2
第2章 相关技术简介 3
2.1 JAVA 3
2.2 Java线程 3
2.3 URL类访问网络 4
2.4爬行策略浅析 4
2.4.1宽度或深度优先搜索策略 4
2.4.2 聚焦搜索策略 5
2.4.3基于内容评价的搜索策略 5
2.4.4 基于链接结构评价的搜索策略 5
2.4.5 基于巩固学习的聚焦搜索 6
2.4.6 基于语境图的聚焦搜索 6
第3章 系统需求分析与总体设计 7
3.1 需求分析 7
3.2系统开发环境及条件 7
3.2.1 硬件条件 7
3.2.2 软件平台 8
3.3系统逻辑层次设计 8
3.4 网站采集流程设计 8
3.5搜索引擎爬虫体系结构 9
3.6搜索引擎抓取工作过程 10
第4章 系统详细设计与实现 11
4.1 网络爬虫构造结构 11
4.2 爬行策略 12
4.3 URL的功能 13
4.3.1 URL抽取 13
4.3.2 URL解析 14
4.3.3 URL保存 14
4.4 实现工具 14
4.5 爬虫工作 15
4.6 URL解析 15
4.7 URL队列管理 15
4.7.1 URL消重处理 15
4.7.2 URL等待队列维护 15
第5章 系统测试 17
5.1 系统测试的意义 17
5.2 系统功能测试 17
5.2.1 网页爬取测试 17
5.2.2 商品分析和分类测试 18
5.2.3 商品搜索测试 19
第6章 结论 21
参考文献 22
谢 辞 23
第1章 绪论
1.1选题背景及意义
对于一个网站来说搜索引擎有着重要的意义,而网络爬虫(Web Crawler),通常也被人们称为爬虫,对于搜索引擎来说非常重要,网络爬虫可以说是一种脚本或者程序,它必需遵照特定的规定,自动地从万维网中抓取所需的信息,因此网络爬虫是搜索引擎极其重要的组成部分之一。而搜索系统非常重要的价值体现为:1)为用户查找所需信息节约时间,并且访问的质量也被大大提高,提升用户体验。一般的,网站访问者在阅读中不是十分顺利的时候,也许就有了通过站内查询寻找自己所想要搜索到的信息的想法。这样的后果我们很容易能想到,这些搜索网站、搜索工具栏查询出来的信息中极有可能没有目标网站,那么此网站的用户就会被别的站点带走。2)对用户输入的关键词进行分析、提取、排名等是了解用户上网行为的最佳途径[1]。了解用户,才能为用户提供非常好的服务,更加高效的网站,进而提升网站的访问量。
现如今网站发迅猛,伴随的产物却是庞大,繁杂的信息。这些如瀑布般涌现的互联网信息,不仅让用户对信息的真实性,以及如何组织信息、如何查询信息,信息来源是否可靠等越来越迷惑,而且让企业本身对信息框架、信息整合管理、以及信息的发布做出了更高的要求。搜索系统一般在形式上包括两个要件:搜索入口和搜索结果页面,但在其后台架构上是比较复杂的,其核心要件包括:中文分词技术、页面抓取技术、建立索引、对搜索结果排序以及对搜索关键词的统计、分析、关联、推荐等[2]。而最重要的步骤也是页面爬取,所以网络爬虫在搜索引擎中的作用不容小觑,好的网络爬虫技术可以更好的让我们获取自己想要的信息。
1.2论文研究的主要内容
爬虫的主要目的是提取更多的新链接集合,且其具有高度可配置性。提取新的网页链接是利用爬虫程序,利用Regular Expression进行Html分析获取该入口页面的新链接集合存放于List集合中,然后利用多线程递归这个List集合,依次将新的URL放入List集合中,而且会将所有的URL相对应的网页下载到特定位置,以方便网页快照使用。