我已经递归地抓取了一个网站并收集了所有链接/子链接,即其中提到的url。现在我希望它将所有html内容转储到elasticsearch。
我正在通过nutch tutorial找到以下方法:
2. Inject the URLs into the Crawldb
nutch inject seed/urls.txt
3. Generate URLs to fetch
bin/nutch generate -topN 40
4. Fetch the pages
bin/nutch fetch -all
在做的时候,我收到了以下错误:
$ ./nutch inject seed/urls.txt
Usage: Injector <crawldb> <url_dir> [-overwrite] [-update]
在这里,在urls.txt中,我将所有网页链接分隔为新行。 我不知道如何使用nutch提取所有数据并推送到ES并且无法找到任何引用链接,需要指针。
答案 0 :(得分:0)
命令注入需要两个参数。第一个是crawldb
,这是Nutch在抓取过程中存储数据的位置。你通常使用的是crawl/crawldb
,但你可以选择一个不同的名字,以及@Jorge Luis在他的评论中指出的名字。第二个是url_dir
,它是包含起始URL的文本文件所在的目录的位置。在您的情况下,这将是seed
。
所以你要运行的完整命令是
./nutch inject crawl/crawldb seed