使用ApacheNutch解析和存储

zd287kbt  于 2021-06-09  发布在  Hbase
关注(0)|答案(2)|浏览(429)

我正在尝试开发一个爬虫来爬行 youtube.com 并解析元信息(标题、描述、发布者等)并将其存储到hbase/其他存储系统中。我明白我必须编写插件来实现这一点。但是我不知道我需要为这个写什么插件。我用这四个来检查-

Parser
ParserFilter
Indexer
IndexFilter

要解析youtube页面的特定元数据信息,我是否需要编写自定义解析器插件或parsefilter插件以及使用 parse-html 插件?
解析之后,要将条目存储在hbase/其他存储系统中,是否需要编写indexwriter插件?通过索引,我们通常理解solr、elasticsearch等中的索引,但我显然不需要在任何搜索引擎中索引。那么,在解析之后如何将它们存储在某个存储中(比如hbase)?
提前谢谢!

5w9g7ksd

5w9g7ksd1#

因为youtube是一个网页,你需要写一个 HtmlParseFilter 它允许您访问从服务器获取的原始html,但目前youtube上有很多javascript,两者都没有 parse-html 或者 parse-tika 支持执行js代码,所以我建议您使用协议selenium插件,这样您就可以将网页的呈现委托给selenium驱动程序,并获取html(在执行完所有js之后)。在你写完你自己的之后 HtmlParseFilter 你得自己写 IndexingFilter ,在这种情况下,您只需要指定要发送到后端的信息,这完全不受后端的影响,并且只依赖于nutch代码库(这就是为什么您需要自己的代码库) IndexWriter ).
我假设您使用的是nutch1.x,在这种情况下,是的,您需要编写一个自定义 IndexWriter 对于您的后端(这是相当容易的)。如果您使用nutch2.x,您将可以通过apachegora访问多个后端,但是您将缺少一些特性(比如协议selenium)。

zc0qhyus

zc0qhyus2#

我认为你应该使用类似crawler4j的东西来达到你的目的。
当您想进行更广泛的搜索或想将数据直接索引到solr/es中时,nutch的真正威力就被利用了。但既然你只想下载每个url的数据,我就完全支持crawler4j。它更容易设置,不需要复杂的配置。

相关问题