`
风雪涟漪
  • 浏览: 497436 次
  • 性别: Icon_minigender_1
  • 来自: 大连->北京
博客专栏
952ab666-b589-3ca9-8be6-3772bb8d36d4
搜索引擎基础(Search...
浏览量:8778
Ae468720-c1b2-3218-bad0-65e2f3d5477e
SEO策略
浏览量:17714
社区版块
存档分类
最新评论

web爬虫

阅读更多

这篇文章主要是对web爬虫有个大概的认知。

 

概览web爬虫

web爬虫主要功能是从web中发现,下载以及存储内容。广泛应用于各种搜索引擎中。

一个典型的web爬虫主要由以下的部分组成:

 

  • 能被爬虫识别的URL库。
  • 文档下载模块,主要用于从web中下载内容。
  • 文档解析模块,用于解析下载文档中的内容,如解析HTML,PDF,Word等等。这个模块还要提取网页中的URL和一些对于索引有用的数据。
  • 存储文档的元数据以及内容的库。
  • 规范化URL模块,把URL转成标准的格式。
  • URL过滤器,爬虫可以过滤掉不需要的URL。
设计与实现上述模块,主要取决于你的爬虫到底要爬取什么以及要抓取的范围。最简单的例子是从一个已知的站点抓取一些网页,这个爬虫代码用一页纸就可以写完。互联网应用中,可能会碰到这种十分简单的需求,但是如果要实现一个爬取大量文档的爬虫,就不是那么简单了。一般来说这个爬虫就是N个应用组成,并且难点是基于分布式的。

爬虫的两个阶段

一个典型的爬虫主要有如下两个阶段

 

  1. URL库初始化然后开始爬取。
  2. 爬虫读取没有访问过的URL,来确定它的工作范围。

对于要抓取的URL,要进行如下的不重
  1. 获取URL的内容
  2. 解析内容,获取URL以及所需的数据。
  3. 存储有价值的数据。
  4. 规范化新抓取的URL。
  5. 过滤掉不需要爬去的URL。
  6. 把要抓取的URL更新到URL库中。
  7. 重复步骤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使用解析器从文档中发现以及提取元数据和文本内容。





 

 

分享到:
评论
4 楼 春天好 2016-06-13  
写的很不错

推荐一个免费好用的云端爬虫开发平台
不需要安装环境,云上运行爬虫
http://www.shenjianshou.cn/
3 楼 cpu88 2014-09-27  
网络爬虫

爬来爬去,网上信息可以瞬间扩散,

但是也意味着,没有人愿意原创,原创的东西会被抓取,变成别人的,所以网上的东西变得肤浅.重复.

打开一个网页,密密麻麻都是标题党,包括百度 新浪等,很多信息文不对题.
因为原创I会被抓取,所以大家都只创造标题,使得互联网中文世界里看不到深度的文章,

微信,弄了一个相对封闭的环境,所以自媒体在移动互联网上要发达一些,原创的东西多一点.
如果有一天,搜索引擎对移动互联网的搜索,爬虫对移动互联网的搜索 和对普通互联网的搜索一样方便的话,自媒体也会死翘翘.

偌大一个互联网世界,确没有人出来保护原创.

只有我们,非常艰难地寻找新的技术手段来,减少抓取对原创的伤害.

也许有一天,互联网老无所依,请把她埋在 埋在爬虫里.

华虫网 点点看
2 楼 cxmin121 2010-12-10  
获取source (url or urls in table)
使用rule来将得到的数据存储在target中。
重复这个过程,直到将网站感兴趣的内容都存储到本地
1 楼 yuhe 2010-12-08  
是连载么?

相关推荐

Global site tag (gtag.js) - Google Analytics