1:解压缩的nutch后,到conf下面修改crawl-urlfilter.txt
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*apache.org/
+^http://([a-z0-9]*\.)*longtask.com/blog/
如果有需要可以继续添加相关的站点.
2:修改conf下面的nutch-site.xml文件,在<configuration>之间添加以下内容
<property>
<name>http.agent.name</name>
<value>longtask</value>
<description>HTTP ‘User-Agent’ request header. </description>
</property>
<property>
<name>http.agent.description</name>
<value>longtask</value>
<description>Further description of our bot- this text is used in the User-Agent header.
</description>
</property>
<property>
<name>http.agent.url</name>
<value>http://www.longtask.com/blog/</value>
<description>A URL to advertise in the User-Agent header.
</description>
</property>
<property>
<name>http.agent.email</name>
<value>longtask@gmail.com</value>
<description>An email address to advertise in the HTTP ‘From’ reques header and User-Agent header.
</description>
</property>
3:回到到nutch的根目录,进入bin目录,建一个urls的文件夹,在文件夹中建一个nutch.txt的问题件,在文件中加入上面要鉴权的Url地址(抓取的网址(nutch.txt)经过(crawl-urlfilters.xml)过滤后,如果没有内容会在log中报错:Stopping at depth=0 - no more URLs to fetch.)。这个地方用nutch1.0怎么都跑不过,只能换回0.9的版本了。
三:解决搜索动态内容的问题:
需要注意在conf下面的2个文件:regex-urlfilter.txt,crawl-urlfilter.txt
# skip URLs containing certain characters as probable queries, etc.
-[?*!@=] (-改+)
这段意思是跳过在连接中存在? * ! @ = 的页面,因为默认是跳过所以,在动态页中存在?一般按照默认的是不能抓取到的。可以在上面2个文件中都修改成:
# skip URLs containing certain characters as probable queries, etc.
# -[?*!@=]
另外增加允许的一行
# accept URLs containing certain characters as probable queries, etc.
+[?=&]
意思是抓取时候允许抓取连接中带 ? = & 这三个符号的连接
注意:两个文件都需要修改,因为NUTCH加载规则的顺序是crawl-urlfilter.txt-> regex-urlfilter.txt
四:运行爬虫,抓取内容:
打开Cygwin,
在命令行窗口中输入: cd nutch的目录/bin
执行命令:
sh nutch crawl urls -dir e:/index -depth 3 -threads 4 -topN 50 >& ./log.txt
说明:
-dir dirnames 设置保存所抓取网页的目录.
-depth depth 表明抓取网页的层次深度
-delay delay 表明访问不同主机的延时,单位为“秒”
-threads threads 表明需要启动的线程数
-topN number 在每次迭代中限制爬行的头几个链接数,默认是Integer.MAX_VALUE
运行结束后,查看log.txt日志,会有爬虫检索网页的详细信息。
问题的解决:运行的过程中报错:
Stopping at depth=0 - no more URLs to fetch.
No URLs to fetch - check your seed list and URL filters.
参考实例项目:http://www.lsoba.com
分享到:
相关推荐
Nutch的配置主要通过`conf`目录下的文件完成,如`nutch-site.xml`定义了项目的配置参数,`regex-urlfilter.txt`和`fetcher.conf`分别用于URL过滤和抓取设置。 为了运行Nutch,你需要搭建一个Hadoop环境,因为Nutch...
3. **配置Nutch**:在`webapps\nutch\WEB-INF\classes`目录下的`nutch-site.xml`文件中,你需要进行适当的修改。尤其是针对你的抓取目录,将`<nutch-conf>`标签内的内容替换为: ``` <nutch-conf> <name>...
在conf/nutch-site.xml中,添加`http.agent.name`属性,如 `<name>http.agent.name</name><value>My Nutch Spider</value>`。 (3)编辑regex-urlfilter.txt,根据需求过滤网址,例如只抓取www.163.com的页面。 8....
1. **下载Nutch源代码**:首先,你需要从Nutch的官方网站下载Nutch-1.6的.src版本,这是构建和配置的基础。 2. **解压与目录设置**:将下载的源代码解压到指定目录,例如 `/usr/nutch`。在这个例子中,尽管Nutch...
- Nutch运行还需要配置一系列的配置文件,如`conf/nutch-site.xml`、`conf/crawldb.xml`、`conf/regex-urlfilter.txt`等,这些文件定义了爬虫的行为,如抓取策略、存储位置、抓取间隔等。 5. **Hadoop集成**: - ...
- 配置`conf/regex-urlfilter.txt`和`conf/parse-ext.txt`,定义URL过滤规则和解析策略。 5. **数据库设置**: - 选择合适的数据库存储爬取的数据,如HBase或Solr。修改`conf/nutch-site.xml`中的相关配置项,...
1. 配置Nutch的`conf/nutch-site.xml`,添加Hadoop的相关配置,如`hadoop.root.dir`,`fs.defaultFS`等。 2. 将Hadoop的`conf`目录添加到Nutch的类路径中,可以通过修改`bin/nutch`脚本来实现。 **六、监控和优化**...
打开`conf/nutch-site.xml`文件,这是Nutch的主要配置文件。以下是一些关键配置项: - `generalcrawl.interval`: 定义抓取间隔,单位为秒。 - `db.default.urlnormalizers`: 指定URL规范化规则。 - `db.default....
其他的配置文件,如 `regex-urlfilter.txt` 和 `crawl-urlfilter.txt` 用于控制抓取范围。 4. **插件系统**:Nutch 的强大之处在于它的插件机制,允许用户自定义处理流程。常见的插件有解析器(如 HTML 解析)、...
- **修改 `nutch-site.xml` 文件**:在 `<configuration>` 标签内加入以下配置,以指定爬虫的名称。 ```xml <name>http.agent.name</name> <value>My Nutch Spider ``` - **修改 `regex-urlfilter.txt` 文件...
- 在 `conf/nutch-site.xml` 文件中添加如下配置: ```xml <name>http.agent.name</name> <value>MyNutchSpider ``` 2. **准备爬行种子文件** - 在 `local` 目录下创建 `urls` 文件夹,并在其中创建 `seed...
1. **配置代理名称**:在`conf/nutch-site.xml`中添加代理名称属性,例如:`<property><name>http.agent.name</name><value>MyNutchSpider</value></property>`。 2. **创建URL种子文件**:在`local`目录下创建`urls...
Nutch的URL过滤机制在`Crawl.java`中体现,它会按照设定的深度遍历每个段(segment),通过`generator.generate`方法生成新的段,并使用`regex-urlfilter.txt`配置文件进行URL过滤。 总结来说,Nutch的正则表达式...
Nutch的核心配置位于`conf`目录下的多个文件,如`nutch-site.xml`用于设置Nutch的全局属性,`regex-urlfilter.txt`定义URL过滤规则,`fetcher.properties`控制抓取行为等。理解并修改这些配置文件是定制Nutch行为的...
- **URL过滤**: 可以通过编写或配置URL过滤器(如`regex-urlfilter.txt`)来控制哪些URL被爬取。 - **插件结构**: Nutch的灵活性体现在其插件体系,包括爬取、解析、索引等多个环节,开发者可以根据需求自定义插件。...
- 编辑`nutch-default.xml`文件,更新`plugin.includes`属性,使其包含新开发的插件`index-self`。 - 示例配置如下: ```xml <name>plugin.includes <value>protocol-http|urlfilter-regex|parse-(html|tika)|...