nutch2.3.1抓取网页的几个重要步骤

虽然,网上有很多类似的博客,我这篇博客可能在其他博客上也有,但是我还是想记录一下我学习nutch的过程。通过xshell日志记录来写这篇博客(我不想重新来一遍了!_)
nutch爬虫的抓取周期主要分为5步:

1.inject—>2.generate—>3.fetch—>4.parse—>5.update

nutch2.3.1的编译过程这里就不多说了,nutch编译好之后,在runtime文件夹下有两个文件夹local和deploy分别对应的nutch的两种运行模式,本地模式和部署模式。这个以后再讲,首先来看本地模式local。

一、注入(inject)

命令:nutch inject

有两个参数
url_dir:种子url目录
crawlid:爬虫id(通过hbase存储时,会产生id_webpage的表格)
在种子url注入的时候我遇到的问题—就是没有成功inject url
这里写图片描述
如上图所示,
total number of urls rejected by filters: 1 被过滤器拒绝的url数为1
total number of urls injected after normalization and filtering: 0,意思就是在归一化和过滤后的注入url的数量为0,
我的种子url总共就一个,全被拒绝了,我在网上找好久,说什么看hadoop日志找问题,可是我的日志都是正常连一个警告都没有。没有找到适合自己的解决方法,后来我突然意识到我修改regex-urlfileter.txt。后来我修改一下正则表达式。通过了。
我是把hadoop和hbase整合一起了。所以我的数据存储在hbase上。在hbase查看表。
这里写图片描述
如上图所示,生成了一个nsh_webpage的表。查看表中数据。
这里写图片描述
这是场面插入的一条数据。

二、产生抓取列表

命令:nutch generate
这里写图片描述
如上图所示generate的用法和执行结果。
执行时,有一个必要参数:crawlid,其余的可以默认。

三、抓取

命令为:nutch fetch
用法:
这里写图片描述
这里执行的命令(其余的默认)参数为:nutch fetch -all -crawlId nsh -threads 1
抓取结果:
这里写图片描述
结果显示抓取了一个网页,没有错误,抓取速度等信息。
查看nsh_webpage表:
这里写图片描述
如图所示,表中存储着html网页。由于太多了,显示不完整,只能截图一部分。

四、解析

解析的命令为:parse
用法:
这里写图片描述
这里执行的是:nutch parse -all -crawlId nsh
执行结果:
这里写图片描述
如图所示。成功解析了网址为https://www.biqudao.com网页。

五、更新crawldb

作用:将新的url存入crawldb中,并对之前的url状态进行更新。
命令:update
用法:
这里写图片描述
执行命令:nutch updatedb -all -crawlId nsh
结果为:
这里写图片描述
这是结果的一部分。从网页www.biqudao.com解析出来的网址。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风吹千里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值