`
softkid
  • 浏览: 101674 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Nutch 使用入门(二)——互联网抓取

    博客分类:
  • java
阅读更多

 

/** 
 *本人亦初学者,如有不正确的地方请多多指教。谢谢! 
 **/ 

Nutch 互联网抓取

1.  下载列表获取

真正实现全互联网数据抓取需要一个比较大的入口 URL 列表,幸运的是 Nutch 在设计时考虑到了这个问题。通过 DmozPraser 工具提供了对开放式互联网 DMOZ 目录库的支持。 DMOZ 目录库可以直接从网上下载使用,目前最新版的数据压缩文件 content.rdf.u8.gz 295MB ,解压缩后达到 1.91GB 。使用 DmozPraser 工具可以从文件中随机抽取部分数据,生成文件列表,详细操作命令如下所示:

 

bin/nutch org.apache.tools.DomzPraser content.rdf.u8 -subset 3000 >domzurls.txt
 

 

命令执行的结果是 Nutch 根目录下生成了一个 dmozurls.txt 的文本文件。该文件可以作为入口地址添加到下载库中。如果要建立全互联网的搜索引擎,可以把 content.rdf.u8 中的所有数据添加到下载库。下载全网数据是一项费时费力的工作,且超过了个人实验的范围,而且 dmozurls 文本文件中包含了很多国外的站点,我们访问比较慢。所有我们将采取另外一种办法。

另外一种办法是查找国内比较大的互联网站点。这些站点的 URL 是通过分析 http://top.chinalabs.com/ http://top.chinaz.com/ http://www.chinarank.org.cn/ 三大中国互联网排行网站获得。应该说可以具有代表性。分析的原理和过程在此不作赘述。得到一个 chinaurls.txt 的文本。部分结果如下:

 

 

http://www.baidu.com
http://www.qq.com
http://www.google.cn
http://www.sina.com.cn
http://www.163.com
http://www.taobao.com
http://www.soso.com
http://www.sohu.com
http://www.youku.com
http://www.tianya.cn
http://www.hao123.com
http://www.kaixin001.com
http://www.alibaba.com
http://www.sogou.com
http://www.ifeng.com
http://www.cnzz.com
http://www.chinaz.com
http://www.xunlei.com
http://www.soufun.com
http://www.126.com
 

 

2.  下载大量网站

入口 URL 列表准备好之后,下一步的工作就是导入 Nutch 系统,完成下载工作,具体过程如下:

     1) 打开 Nutch 的根目录,新建一个 InternetWeb urls 目录

     2) 复制 chinaurls.txt 文件到 Nutch 的根目录下的 urls 目录。利用文件内容向 InternetWeb 目录数据库里面添加初始的入口 URL ,命令及执行结果如下:


       3) 修改 Nutch 根目录下 conf/nutch-site.xml 文件,设置 http.agent.name 属性的值。这个属性值在抓取网页的时候,会携带于 HTTP 请求的协议头里面,用来表明网络蜘蛛身份,修改内容如下。


     4) 利用 craswdb 中已经注入的 URL 下载列表,调用 generate 命令创建一个新的数据段,存放在 InternetWeb 目录下。命令及执行结果如下:


        5) 查看 segments 目录下最新生成的以日期时间命名的文件夹。当前生成的文件夹的名称是 20100325211446. 接下来根据文件夹下生成的下载列表获取页面的内容。命令如下:


        6) 从已经下载的段数据列表里获取 URL 链接,更新 crawldb 库里的内容。命令及执行过程如下:


       7)  循环执行( 4 ),( 5 ),( 6 )下载页面,直到 crawldb 的列表完成或者达到网页深度。此处的深度控制需要通过循环次数控制。

       8) 调用 invertlinks 命令建立所有的链接。


       9) 索引页面内容。命令如下:


这样,一个简化的互联网数据已经下载完成了。

 

接下来我们又可以进行搜索了。

Nutch搜索页面的部署可以参见 Nutch1.0 使用入门(一)。

 

谢谢关注,我会有更多这方面文章的发布。

 

  • 大小: 20.2 KB
  • 大小: 16.8 KB
  • 大小: 34.1 KB
  • 大小: 8.1 KB
  • 大小: 28.6 KB
  • 大小: 19.7 KB
  • 大小: 8.9 KB
1
0
分享到:
评论
1 楼 xanodu 2010-10-20  
请问nutch用的是哪个版本?

相关推荐

    nutch使用&Nutch;入门教程

    “Nutch使用.pdf”和“Nutch入门教程.pdf”这两份文档将详细介绍如何从零开始使用Nutch,包括环境搭建、配置、启动爬虫、监控爬虫状态、查看抓取结果和索引数据等。通过这些教程,你可以快速掌握Nutch的基本操作,并...

    Nutch使用入门

    Nutch 是一个开源的网络爬虫项目,主要设计用于抓取和索引互联网上的网页,以便进行全文搜索。本文档将引导你入门Nutch的基本使用,包括环境配置、部署、爬取网页以及搜索功能的实现。 **环境要求:** 1. **JDK 1.5...

    nutch帮助文档;nutch学习 入门

    - **网页抓取**:Nutch使用爬虫技术,通过种子URL开始,遍历互联网上的链接,逐步抓取网页。 - **HTML解析**:抓取的网页会被解析成HTML文档,提取出有用的信息如标题、正文等。 - **链接分析**:Nutch使用...

    Nutch入门教程 高清 带书签

    通过阅读提供的“Nutch入门教程.pdf”,你可以学习如何安装Nutch、配置环境、创建并运行爬虫任务、查看抓取日志、分析抓取结果、调试插件等步骤,逐步掌握Nutch的使用。 总结来说,Nutch是一款强大的开源搜索引擎...

    分享一个Nutch入门学习的资料

    标题中的“Nutch入门学习”指的是Apache Nutch,这是一个开源的网络爬虫项目,用于抓取Web内容并建立搜索引擎。Nutch是大数据处理框架Hadoop的一个重要组成部分,它使用Hadoop进行分布式数据存储和处理。Nutch的学习...

    Nutch入门资料PDF格式

    - **Internet爬行**: 使用更底层的命令(如`inject`, `generate`, `fetch`, `updatedb`)实现对整个互联网的大规模抓取,提供更高的灵活性和控制权。 - **插件化设计**: - **插件位置**: `plugins/`子文件夹。 - ...

    Nutch入门教程.pdf

    以上内容构成了Nutch入门教程的核心知识点,从简介、安装配置、初体验、基本原理、分析方法、分布式文件系统以及应用等多方面,详细介绍了Nutch框架及其使用方法,为对搜索引擎感兴趣的用户提供了一个全面的学习资源...

    Nutch使用指南(英文)

    Nutch 是一个开源项目,旨在帮助用户构建自己的内部网搜索引擎或面向整个互联网的搜索引擎。本指南将基于 Nutch 的版本 0.7,详细介绍如何设置和配置 Nutch 以进行内部网爬取和全网爬取。 #### 二、系统需求 在...

    nutch入门教程

    ### Nutch入门教程知识点解析 #### 1. Nutch简介 **1.1 什么是Nutch** Nutch是一个开源的搜索引擎框架,完全基于Java开发,旨在帮助用户构建和运行自己的搜索引擎。它提供了一系列的工具和服务,使用户能够从...

    Nutch中文教程nutcher.zip

    Nutch教程——导入Nutch工程,执行完整爬取 Nutch流程控制源码详解(bin/crawl中文注释版) Nutch教程——URLNormalizer源码详解 Nutch参数配置——http.content.limit ...

    Nutch1.7二次开发培训讲义 之 腾讯微博抓取分析

    ### Nutch 1.7 二次开发培训讲义之腾讯微博抓取分析 #### 一、概述 Nutch 是一个开源的网络爬虫项目,它提供了灵活的数据抓取能力,并支持二次开发定制功能。本篇培训讲义主要针对的是如何使用 Nutch 1.7 版本对...

    nutch入门.pdf

    这一部分详细介绍了如何配置Nutch以及Tomcat,执行抓取命令,并对结果进行测试。其中,爬行企业内部网涉及到IntranetRecrawl,而爬行全网则详细讨论了爬行官方网址和中文网址。 Nutch基本原理分析包括Nutch的基本...

    nutch

    Nutch 是一个开源的网络爬虫项目,主要设计用于抓取、索引和搜索互联网上的网页。它由 Apache 软件基金会开发,并且是 Hadoop 的一部分,这意味着它能够利用分布式计算来处理大规模的数据抓取任务。Nutch 提供了一套...

    nutch使用文档

    Nutch 是一个开源的网络爬虫工具,使用 Java 语言编写,主要用于爬取和索引互联网上的网页。下面是 Nutch 的使用方法和相关知识点。 Nutch 搭建过程 Nutch 的搭建过程主要包括准备工作、安装 Linux 系统、安装 JDK...

    nutch入门实例教程.pdf

    ### Nutch 入门实例教程知识点总结 #### 1. Nutch 简介 - **定义**: Nutch 是一个开源的 Java 实现的搜索引擎框架,它提供了构建和运行自己搜索引擎所需的所有工具。 - **研究动机**: - **透明度**: 作为开源...

Global site tag (gtag.js) - Google Analytics