Apache Nutch REST api

Apache Nutch REST api

我正在尝试通过其余 api 启动爬网。爬网从注入 URL 开始。使用 chrome 开发人员工具 "Advanced Rest Client" 我正在尝试构建此 POST 有效负载,但我得到的响应是 400 Bad Request。

POST - http://localhost:8081/job/create

有效负载

{
  "crawl-id":"crawl-01",
  "type":"INJECT",
  "config-id":"default",
  "args":{ "path/to/seedlist/directory"}
}

我的问题出在 args 上,我认为还需要更多,但我不确定。在 NutchRESTAPI 页面中,这是它为创建作业提供的示例。

POST /job/create
   {
      "crawlId":"crawl-01",
      "type":"FETCH",
      "confId":"default",
      "args":{"someParam":"someValue"}
   }

POST /job/create
   {
      "crawlId":"crawl-01",
      "jobClassName":"org.apache.nutch.fetcher.FetcherJob"
      "confId":"default",
      "args":{"someParam":"someValue"}
   }

我不确定为每个命令提供什么参数或值来完成作业。 (例如注入、生成、获取、解析和 UpdateDb)有人可以解决这个问题吗?我如何告诉 api 在何处查找种子列表?

更新

在尝试完成生成命令时,我遇到了 classException 错误,其中 topN 键的值应为 long 类型,但 api 将其读取为字符串或 int。我找到了一个应该包含在 2.3.1 版本(发布日期:TBA)中的修复程序并应用它并重新编译了我的代码。它现在可以工作了。

在发布此帖子时,REST API 尚未完成。存在更详细的文档,尽管它仍然不全面。它链接到来自用户邮件列表(您可能想考虑加入)的以下电子邮件:

http://www.mail-archive.com/user%40nutch.apache.org/msg13652.html

但是要回答你关于种子列表的问题,你可以通过 REST 创建种子列表,或者你可以使用参数 "seedDir"

{
    "args":{
        "seedDir":"/path/to/seed/directory"
    },
    "confId":"default",
    "crawlId":"sample-crawl-01",
    "type":"INJECT"
}