面向主题的网络蜘蛛爬虫研究与设计+流程图
时间:2016-11-28 21:27 来源:毕业论文 作者:毕业论文 点击:次
摘 要:网络爬虫是一种自动搜集互联网信息的程序,通过网络爬虫不仅能够为搜索引擎采集网络信息,而且可以作为定向信息采集器,定向采集某些网站下的特定信息,如招聘信息、租房信息等。 本文通过JAVA实现了一个基于广度优先算法的多线程爬虫程序,本论文阐述了网络爬虫实现中一些主要问题:为何使用广度优先的爬行策略,以及如何实现广度优先爬行,为何要使用多线程,以及如何实现多线程,系统实现过程中的数据存储;网页信息解析等。 关键词:网络爬虫;JAVA;多线程 Research and Design of Topic-oriented Web Spider Abstract: SPIDER is a program which can auto collect informations from internet. SPIDER can collect data for search engines, also can be a Directional information collector, collects specifically informations from some web sites, such as HR informations, house rent informations. In this paper, use JAVA implements a breadth-first algorithm multi-thread SPDIER. This paper expatiates some major problems of SPIDER: why to use breadth-first crawling strategy, and how to implement breadth-first crawling; why to use multi-threading, and how to implement multi-thread; data structure; HTML code parse. etc. This SPIDER can collect URLs from one web site, and store URLs into database. Key Words: Spider; Java; Multi-threads. 目 录 摘要 I 引言 1 1绪论 1 1.1概述 1 1.2技术介绍 1 2需求分析 3 2.1功能分析 3 2.2 性能分析 3 3系统概设计 3 3.1系统总体工作流程 3 3.2功能模块设计 4 (1)主题爬虫URL的处理流程 4 (2)抓取算法 5 4系统实现 6 4.1 实现工具 6 4.2 SPIDER构造 6 4.3 URL解析 6 4.4 URL队列管理 8 5系统测试 8 5.1测试定义 8 5.2测试方法及结果 8 结 论 9 参考文献 9 致谢 10,4021 面向主题的网络蜘蛛研究与设计 引言 随着互联网的飞速发展,网络上的信息呈爆炸式增长,这使得人们在网上找到所需的信息越来越困难,这种情况下搜索引擎应运而生,搜索引擎搜集互联网上数以亿计的网页,并为每个词建立索引。在建立搜索引擎的过程中,搜集网页是非常重要的一个环节,爬虫程序就是用来搜集网页的程序,以何种策略偏历互联网上的网页,也成了爬虫程序主要的研究方向。现在比较流行的搜索引擎,比如google,百度,它们爬虫程序的技术一般都不公开,目前几种比较常用的爬虫实现策略:广度优先的爬虫程序,Repetitive爬虫程序,定义爬行爬虫程序,深层次爬行爬虫程序。此外, 还有根据概率论进行可用Web页的数量估算, 用于评估互联网Web规模的抽样爬虫程序;采用爬行深度、页面导入链接量分析等方法, 限制从程序下载不相关的Web页的选择性爬行程序等等。实现网络爬虫的重点和难点有:多线程的实现,对临界资源的分配,遍历web图的遍历策略选择和实现,存储数据结构的选择和实现。 1.绪论 1.1.概述 网络爬虫是一个自动提取网页的程序, 它为搜索引擎从Web 上下载网页, 是搜索引擎的重要组成部分。传统网络爬虫从一个或若干初始网页的U RL 开始,获得初始网页上的U RL 列表,在抓取网页的过程中,不断从当前页面上抽取新的U RL 放入待爬行队列,直到满足系统的停止条件。 (责任编辑:qin) |