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
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:
-
http:
-
http:
-
http:
-
http:
-
http:
-
http:
-
http:
-
http:
-
http:
-
http:
-
http:
-
http:
-
http:
-
http:
-
http:
-
http:
-
http:
-
http:
-
http:
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)
索引页面内容。命令如下:
这样,一个简化的互联网数据已经下载完成了。
分享到:
相关推荐
1. **导入项目**:在Eclipse中选择“File” > “Import” > “Existing Projects into Workspace”,然后浏览到下载的`nutch1.2+Project`目录,导入项目。 2. **添加库**:确保你的Eclipse环境中已经安装了Apache ...
Nutch 1.2 是一个开源的网络爬虫项目,基于 Java 编写,用于抓取互联网上的网页并建立索引。这个项目是 Apache Software Foundation 的一部分,它为大规模的数据采集提供了强大的工具。Nutch 1.2 版本相对于早期版本...
### Nutch 1.2 源码阅读深入解析 #### Crawl类核心作用与流程概览 在深入了解Nutch 1.2源码之前,我们先明确Nutch的架构和工作流程。Nutch作为一款开源搜索引擎框架,其功能涵盖网页抓取、索引构建以及查询处理。...
Nutch是由Apache软件基金会开发的开源Web爬虫项目,主要用于抓取互联网上的网页并进行索引。它的主要目标是提供一个可扩展、高性能的搜索解决方案。Nutch的核心组件包括爬虫、分割器、解析器、索引器和搜索器,这些...
- 转到 Libraries 标签页,点击 Add Class Folder,选择 `nutch1.2/conf` 目录。 3. **调整库顺序**: - 在 Order and Export 页面,找到 `nutch1.2/conf` 并将其置顶。 - 完成后点击 Finish,完成项目创建。 4...
nutch1.2测试文档
nutch官方简单案例,请版本是nutch-1.2.war
### Windows下cygwin+MyEclipse 8.5+Nutch1.2+Tomcat 6.0 本文旨在详细介绍如何在Windows环境下搭建基于cygwin、MyEclipse 8.5、Nutch 1.2及Tomcat 6.0的开发环境,并对每个步骤进行深入解析。 #### 一、Cygwin的...
nutch Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降。 并且这很有可能进一步演变成为一个公司垄断了几乎...
实验报告——构建中文分词搜索引擎 本实验的目标是利用开源工具Nutch和IKAnalyzer构建一个中文分词搜索引擎,旨在理解搜索引擎的基本工作流程,掌握网页爬取、分词处理以及搜索功能的实现。实验中,主要涉及的技术...
Nutch教程——导入Nutch工程,执行完整爬取 Nutch流程控制源码详解(bin/crawl中文注释版) Nutch教程——URLNormalizer源码详解 Nutch参数配置——http.content.limit ...
- 选择“Source”选项卡,将默认输出目录从`nutch1.2/bin`修改为`nutch1.2/_bin`。 - 对于bin文件夹,可以通过右键点击“Team” > “Restore”来恢复其内容。 3. **添加JAR包** - 通过“Add JARs”功能,将`...
Nutch是Apache开发的一款开源网络爬虫项目,用于抓取互联网上的网页并建立索引,以便于搜索引擎进行数据处理。然而,在实际使用过程中,由于编码问题,Nutch可能会出现部分网页乱码的情况。本篇文章将深入探讨这个...
nutch Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降。 并且这很有可能进一步演变成为一个公司垄断了几乎...
Nutch1.2是Apache Nutch的一个版本,它是一个开源的网络爬虫项目,用于抓取和索引互联网上的网页,进而支持搜索功能。 在描述中提到的“搜索nutch1-2数据资料”,意味着我们要关注Nutch1.2的特定方面,如其数据抓取...
Nutch提供了强大的爬虫功能,能够自动发现互联网上的新页面,并通过其内置的解析器提取有价值的内容。然后,这些内容会被转化为索引,供用户通过查询接口进行搜索。 **环境准备** 1. **Java环境**:Nutch基于Java,...
nutch Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降。 并且这很有可能进一步演变成为一个公司垄断了几乎...
nutch Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降。 并且这很有可能进一步演变成为一个公司垄断了几乎...
nutch Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降。 并且这很有可能进一步演变成为一个公司垄断了几乎...