最近在研究nutch,找到了关于使用底层命令进行全网爬行的资料。
首先获得网址集,使用http://rdf.dmoz.org/rdf/ 目录下的content.example.txt 文件做测试,建立文件夹dmoz
命令:bin/nutch org.apache.nutch.tools.DmozParser content.example.txt >dmoz/urls
注射网址到crawldb数据库:
命令:bin/nutch inject crawl/crawldb dmoz
创建抓取列表:
命令:bin/nutch generate crawl/crawldb crawl/segments
把segments下的文件保存到变量s1中,供以后调用:
命令:s1=`ls -d crawl/segments/2* | tail -1`
命令:echo $s1
注`不是单引号,而是左上角跟~一个键位的那个
运行fetcher获取这些url信息:
命令:bin/nutch fetch $s1
更新数据库,把获取的页面信息存进数据库中:
命令:bin/nutch updatedb crawl/crawldb $s1
第一次抓取结束。
接下来选择分值排在前10的url来进行第二次和第三次抓取:
命令:bin/nutch generate crawl/crawldb crawl/segments -topN 10
命令:s2=`ls -d crawl/segments/2* | tail -1`
命令:echo $s2
命令:bin/nutch fetch $s2
命令:bin/nutch updatedb crawl/crawldb $s2
命令:bin/nutch generate crawl/crawldb crawl/segments -topN 10
命令:s3=`ls -d crawl/segments/2* | tail -1`
命令:echo $s3
命令:bin/nutch fetch $s3
命令:bin/nutch updatedb crawl/crawldb $s3
根据segments的内容更新linkdb数据库:
命令:bin/nutch invertlinks crawl/linkdb crawl/segments/*
建立索引:
命令:bin/nutch index crawl/indexes crawl/crawldb crawl/linkdb crawl/segments/*
可以通过此命令进行查询:
命令:bin/nutch org.apache.nutch.searcher.NutchBean faq 此处的faq代表所要搜索的关键词
分享到:
相关推荐
在完成爬行后,你可以继续使用Nutch进行索引和搜索,如`bin/nutch fetch`、`bin/nutch update`、`bin/nutch index`等命令来管理抓取的数据。 总之,Nutch的安装和使用涉及多个步骤,包括环境配置、源代码获取、配置...
* 首先,使用 Nutch 1.7 的 crawl 命令来爬取网络上的网页。 * 之后,使用 Nutch 1.7 的 index 命令来索引爬取的网页。 * 最后,使用 Nutch 1.7 的 search 命令来搜索索引的网页。 5. Nutch 1.7 与 Solr 结合使用 ...
**Nutch 网页爬取总结** **前言** Nutch 是一个开源的网络爬虫项目,由 Apache 基金会维护,主要用于构建大规模的搜索引擎。它提供了从互联网抓取网页、分析链接关系、生成倒排索引等一系列功能。Nutch 的设计目标...
Nutch 的爬行过程涉及多个步骤,包括使用入口地址、URL 正则表达式和搜索深度限制。Hadoop 的使用使得 Nutch 具备了分布式处理能力。关键类包括: - **Fetcher**:通过多线程运行 FetcherThread,调用适当的 ...
3.2 爬行全网.....18 3.2.1 nutch数据集的基本组成:.....18 3.2.2 爬行"官方"网址.....18 3.2.3 爬行中文网址....22 4. nutch基本原理分析...23 4.1 nutch的基本组成.23 4.2 nutch工作流程.....23 5. nutch工作...
Nutch初体验部分涉及爬行企业内部网和爬行全网。这一部分详细介绍了如何配置Nutch以及Tomcat,执行抓取命令,并对结果进行测试。其中,爬行企业内部网涉及到IntranetRecrawl,而爬行全网则详细讨论了爬行官方网址和...
首先,Nutch的命令是其运行和管理的核心,通过不同的命令,Nutch可以执行相应的爬取和索引操作。例如, crawl命令代表了Nutch爬虫抓取和索引的整个过程。在使用该命令时,可以通过参数来控制爬取行为,如指定URL列表...
对于全面的互联网爬行,Nutch 使用一组底层命令,包括 `inject`, `generate`, `fetch`, 和 `updatedb`,这些命令提供了更精细的控制。`inject` 命令用来注入种子URL,`generate` 生成需要抓取的新URL列表,`fetch` ...
- 运行Nutch的基本命令,如抓取种子URL (`bin/nutch inject`), 分析网页 (`bin/nutch fetch`), 解析内容 (`bin/nutch parse`), 更新数据库 (`bin/nutch updatedb`),生成索引 (`bin/nutch index`). 5. **Nutch 与 ...
( Nutch,第1部分:爬行(译文) ( Nutch,第1部分:爬行(译文)
4. **执行爬行命令**:使用`bin/nutch crawl urls -dir <output_dir> -depth <depth> -topN <num>`命令启动爬虫,其中`<output_dir>`指定爬行结果的存储目录,`<depth>`设定爬行深度,`<num>`控制每层深度的最大爬行...
初次使用Nutch时,可以先尝试爬行企业内部网络,熟悉Nutch的抓取流程。这涉及到配置Nutch的抓取策略,如定义起始URL,设置抓取深度,以及配置过滤规则避免抓取不必要的页面。 **3.2 爬行全网** 随着对Nutch掌握...
- **Internet爬行**: 使用更底层的命令(如`inject`, `generate`, `fetch`, `updatedb`)实现对整个互联网的大规模抓取,提供更高的灵活性和控制权。 - **插件化设计**: - **插件位置**: `plugins/`子文件夹。 - ...
尝试执行以下命令以查看 Nutch 命令脚本的文档: ``` bin/nutch ``` 现在,我们可以开始爬取了。有两种爬取方式: 1. **内部网爬取**:使用 `crawl` 命令。 2. **全网爬取**:使用更低级别的 `inject`, `generate`,...
通过`nutch merge linkdb`命令,将不同爬取任务的linkdb合并到新的目标目录中。这确保了合并后的数据库中包含了所有爬取周期内发现的链接关系。 2. **合并网页数据库(Crawldb)**: 网页数据库包含了爬取的网页元...
总的来说,`readdb` 命令是 Nutch 爬行过程监控和数据检查的重要工具,它可以帮助开发者了解爬行进度、网页状态和链接分布,从而优化爬行策略。而链接结构的分析则对于构建高质量的搜索引擎索引至关重要,因为它影响...
你可以单独运行每个命令,或者通过`bin/crawl`脚本自动化整个过程。 六、Nutch与其他技术的集成 Nutch可以与Solr或Elasticsearch等搜索引擎集成,实现快速高效的搜索功能。此外,还可以与HBase等NoSQL数据库配合,...
Nutch 的工作流程通常由一系列的命令来完成,这些命令允许用户对网络爬取过程进行精细的控制。 **Nutch 的主要字段信息** 在 Nutch 中,每个网页被分解成多个字段,这些字段包含关于网页的重要信息: 1. **Title*...