`

Nutch 1.2 ——互联网抓取[转]

阅读更多

Nutch 互联网抓取

1.  下载列表获取

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

 

Java代码
  1. bin/nutch org.apache.tools.DomzPraser content.rdf.u8 -subset  3000  >domzurls.txt  
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 的文本。部分结果如下:

 

 

Java代码
  1. http: //www.baidu.com   
  2. http://www.qq.com   
  3. http://www.google.cn   
  4. http://www.sina.com.cn   
  5. http://www.163.com   
  6. http://www.taobao.com   
  7. http://www.soso.com   
  8. http://www.sohu.com   
  9. http://www.youku.com   
  10. http://www.tianya.cn   
  11. http://www.hao123.com   
  12. http://www.kaixin001.com   
  13. http://www.alibaba.com   
  14. http://www.sogou.com   
  15. http://www.ifeng.com   
  16. http://www.cnzz.com   
  17. http://www.chinaz.com   
  18. http://www.xunlei.com   
  19. http://www.soufun.com   
  20. http://www.126.com   
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) 索引页面内容。命令如下:


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

分享到:
评论

相关推荐

    nutch1.2 java的project

    1. **导入项目**:在Eclipse中选择“File” > “Import” > “Existing Projects into Workspace”,然后浏览到下载的`nutch1.2+Project`目录,导入项目。 2. **添加库**:确保你的Eclipse环境中已经安装了Apache ...

    nutch1.2 java project

    Nutch 1.2 是一个开源的网络爬虫项目,基于 Java 编写,用于抓取互联网上的网页并建立索引。这个项目是 Apache Software Foundation 的一部分,它为大规模的数据采集提供了强大的工具。Nutch 1.2 版本相对于早期版本...

    Nutch 1.2源码阅读

    ### Nutch 1.2 源码阅读深入解析 #### Crawl类核心作用与流程概览 在深入了解Nutch 1.2源码之前,我们先明确Nutch的架构和工作流程。Nutch作为一款开源搜索引擎框架,其功能涵盖网页抓取、索引构建以及查询处理。...

    nutch1.2源码

    Nutch是由Apache软件基金会开发的开源Web爬虫项目,主要用于抓取互联网上的网页并进行索引。它的主要目标是提供一个可扩展、高性能的搜索解决方案。Nutch的核心组件包括爬虫、分割器、解析器、索引器和搜索器,这些...

    myeclipse8.5导入nutch1.2源码

    - 转到 Libraries 标签页,点击 Add Class Folder,选择 `nutch1.2/conf` 目录。 3. **调整库顺序**: - 在 Order and Export 页面,找到 `nutch1.2/conf` 并将其置顶。 - 完成后点击 Finish,完成项目创建。 4...

    nutch1.2测试文档

    nutch1.2测试文档

    nutch-1.2.war

    nutch官方简单案例,请版本是nutch-1.2.war

    Windows下cygwin+MyEclipse 8.5+Nutch1.2+Tomcat 6.0

    ### Windows下cygwin+MyEclipse 8.5+Nutch1.2+Tomcat 6.0 本文旨在详细介绍如何在Windows环境下搭建基于cygwin、MyEclipse 8.5、Nutch 1.2及Tomcat 6.0的开发环境,并对每个步骤进行深入解析。 #### 一、Cygwin的...

    nutch-1.2.part02

    nutch Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降。 并且这很有可能进一步演变成为一个公司垄断了几乎...

    实验报告(利用Nutch和IKanalyzer构造中文分词搜索引擎)

    实验报告——构建中文分词搜索引擎 本实验的目标是利用开源工具Nutch和IKAnalyzer构建一个中文分词搜索引擎,旨在理解搜索引擎的基本工作流程,掌握网页爬取、分词处理以及搜索功能的实现。实验中,主要涉及的技术...

    Nutch中文教程nutcher.zip

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

    Nutch搜索引擎培训讲义

    - 选择“Source”选项卡,将默认输出目录从`nutch1.2/bin`修改为`nutch1.2/_bin`。 - 对于bin文件夹,可以通过右键点击“Team” > “Restore”来恢复其内容。 3. **添加JAR包** - 通过“Add JARs”功能,将`...

    nutch部分网页乱码BUG修正

    Nutch是Apache开发的一款开源网络爬虫项目,用于抓取互联网上的网页并建立索引,以便于搜索引擎进行数据处理。然而,在实际使用过程中,由于编码问题,Nutch可能会出现部分网页乱码的情况。本篇文章将深入探讨这个...

    nutch-1.2.part06

    nutch Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降。 并且这很有可能进一步演变成为一个公司垄断了几乎...

    搜索数据资料

    Nutch1.2是Apache Nutch的一个版本,它是一个开源的网络爬虫项目,用于抓取和索引互联网上的网页,进而支持搜索功能。 在描述中提到的“搜索nutch1-2数据资料”,意味着我们要关注Nutch1.2的特定方面,如其数据抓取...

    搭建nutch web开发环境

    Nutch提供了强大的爬虫功能,能够自动发现互联网上的新页面,并通过其内置的解析器提取有价值的内容。然后,这些内容会被转化为索引,供用户通过查询接口进行搜索。 **环境准备** 1. **Java环境**:Nutch基于Java,...

    nutch-1.2.part07

    nutch Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降。 并且这很有可能进一步演变成为一个公司垄断了几乎...

    nutch-1.2.part05

    nutch Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降。 并且这很有可能进一步演变成为一个公司垄断了几乎...

    nutch-1.2.part03

    nutch Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降。 并且这很有可能进一步演变成为一个公司垄断了几乎...

Global site tag (gtag.js) - Google Analytics