爬虫的网页
2013-09-23 15:14
120 查看
http://www.oschina.net/project/tag/64/spider?lang=19&os=0&sort=view&p=1
一个典型的web爬虫主要由以下的部分组成:
能被爬虫识别的URL库。
文档下载模块,主要用于从web中下载内容。
文档解析模块,用于解析下载文档中的内容,如解析HTML,PDF,Word等等。这个模块还要提取网页中的URL和一些对于索引有用的数据。
存储文档的元数据以及内容的库。
规范化URL模块,把URL转成标准的格式。
URL过滤器,爬虫可以过滤掉不需要的URL。
设计与实现上述模块,主要取决于你的爬虫到底要爬取什么以及要抓取的范围。最简单的例子是从一个已知的站点抓取一些网页,这个爬虫代码用一页纸就可以写完。互联网应用中,可能会碰到这种十分简单的需求,但是如果要实现一个爬取大量文档的爬虫,就不是那么简单了。一般来说这个爬虫就是N个应用组成,并且难点是基于分布式的。
URL库初始化然后开始爬取。
爬虫读取没有访问过的URL,来确定它的工作范围。
对于要抓取的URL,要进行如下的不重
获取URL的内容
解析内容,获取URL以及所需的数据。
存储有价值的数据。
规范化新抓取的URL。
过滤掉不需要爬去的URL。
把要抓取的URL更新到URL库中。
重复步骤2,直到抓取的网页深度完毕为止。
从广度进行分类的话,爬虫有两类。通用型和集中型。通用型是采集所有能解析的文档。它们主要通过URL过滤技术来实现这一过程。而集中型爬虫主要爬取特定内容的文档,如爬取sina博客,格式为固定内容也是我们感兴趣的。
Heritrix是互联网存档的web爬虫。项目地址为http://crawler.archive.org/。Heritrix专注于大型爬虫的实现。许可证为LGPL。
另外提一下,还有一个项目值得关注,那就是apache tika。项目地址为http://tika.apache.org/。tika使用解析器从文档中发现以及提取元数据和文本内容。
web爬虫
概览web爬虫
web爬虫主要功能是从web中发现,下载以及存储内容。广泛应用于各种搜索引擎中。一个典型的web爬虫主要由以下的部分组成:
能被爬虫识别的URL库。
文档下载模块,主要用于从web中下载内容。
文档解析模块,用于解析下载文档中的内容,如解析HTML,PDF,Word等等。这个模块还要提取网页中的URL和一些对于索引有用的数据。
存储文档的元数据以及内容的库。
规范化URL模块,把URL转成标准的格式。
URL过滤器,爬虫可以过滤掉不需要的URL。
设计与实现上述模块,主要取决于你的爬虫到底要爬取什么以及要抓取的范围。最简单的例子是从一个已知的站点抓取一些网页,这个爬虫代码用一页纸就可以写完。互联网应用中,可能会碰到这种十分简单的需求,但是如果要实现一个爬取大量文档的爬虫,就不是那么简单了。一般来说这个爬虫就是N个应用组成,并且难点是基于分布式的。
爬虫的两个阶段
一个典型的爬虫主要有如下两个阶段URL库初始化然后开始爬取。
爬虫读取没有访问过的URL,来确定它的工作范围。
对于要抓取的URL,要进行如下的不重
获取URL的内容
解析内容,获取URL以及所需的数据。
存储有价值的数据。
规范化新抓取的URL。
过滤掉不需要爬去的URL。
把要抓取的URL更新到URL库中。
重复步骤2,直到抓取的网页深度完毕为止。
从广度进行分类的话,爬虫有两类。通用型和集中型。通用型是采集所有能解析的文档。它们主要通过URL过滤技术来实现这一过程。而集中型爬虫主要爬取特定内容的文档,如爬取sina博客,格式为固定内容也是我们感兴趣的。
幸运的是,有开源的爬虫可以使用
在java中,nutch和heritrix都提供了爬虫的实现。Nutch是apache lucene的子项目,地址是http://lucene.apache.org/nutch/。这个项目非常稳定,并且文档丰富。Nutch把多个网页存储在一个文件中。对于大的爬虫来说,这么降低I/O读写,性能更加优秀。Heritrix是互联网存档的web爬虫。项目地址为http://crawler.archive.org/。Heritrix专注于大型爬虫的实现。许可证为LGPL。
另外提一下,还有一个项目值得关注,那就是apache tika。项目地址为http://tika.apache.org/。tika使用解析器从文档中发现以及提取元数据和文本内容。
相关文章推荐
- Java爬虫抓取网页
- 【Java Utility】Jsoup网页爬虫工具简介Java HTML PARSER【一】
- 【Java Utility】Jsoup网页爬虫工具-使用选择器查找元素【八】
- 网页爬虫--scrapy进阶
- python3爬虫2--网页源代码及图片提取
- node.js基础模块http、网页分析工具cherrio实现爬虫
- python网络爬虫抓取动态网页并将数据存入数据库MySQL
- Python爬虫实例(3)-用BeautifulSoup爬取多个可翻页网页上的多张照片
- 利用java的url实现小型的网页爬虫
- XPath Helper:chrome爬虫网页解析工具 Chrome插件
- python爬虫(2.获取网页外链与内链)
- Python构建网页爬虫原理分析
- 正则表达式实例 网页爬虫抓取页面邮箱地址
- 爬虫的自我解剖(抓取网页HtmlUnit)
- 黑马程序员——JAVA基础---正则表达式---概述,匹配、切割、替换、提取,网页爬虫
- python做网页爬虫需要注意的问题
- C# 爬虫,抓取网页数据
- python3.4.4实现网页爬虫基础之网页下载器三种方法
- Python的网页爬虫&文本处理&科学计&机器学习&数据挖掘工具集
- java网页爬虫