摘 要:网络爬虫是一种自动搜集互联网信息的程序,通过网络爬虫不仅能够为搜索引擎采集网络信息,而且可以作为定向信息采集器,定向采集某些网站下的特定信息,如招聘信息、租房信息等。 本文通过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 放入待爬行队列,直到满足系统的停止条件。 面向主题的网络蜘蛛爬虫研究与设计+流程图:http://www.youerw.com/jisuanji/lunwen_492.html