【问题标题】:How do we know when Heritrix completes a crawl job?我们如何知道 Heritrix 何时完成爬网作业?
【发布时间】:2016-05-18 09:10:03
【问题描述】:

在我们的应用程序中,Heritrix 被用作抓取引擎,一旦抓取作业完成,我们将手动启动端点以从网站下载 PDF。我们希望在抓取作业完成后立即自动执行此下载 pdf 任务。 HEritrix 是否提供任何 URI/webservice 方法 - 返回作业状态? (或)我们是否需要创建一个投票应用来持续监控作业的状态?

【问题讨论】:

    标签: heritrix


    【解决方案1】:

    我不知道是否有任何选项可以在没有持续监控的情况下执行此操作,但您可以使用 Heritrix API 获取工作状态,例如

    curl -v -d "action=" -k -u admin:admin --anyauth --location -H "Accept: application/xml" https://localhost:8443/engine/job/myjob
    

    为您提供 XML,您可以从中读取作业状态。

    另一个可能更简单(但不是那么“专业”)的选项是检查您的工作 warcs 目录是否包含扩展名为 .open 的文件。如果没有 - 工作就完成了。

    【讨论】:

    • 没错。 Curl 提供了一种执行多种操作的方法。但是,应该有另一个端点返回作业状态 - 这是任何作业框架提供的基本操作,除了 Heritrix。我尝试使用来自 POSTMAN 客户端的参数 createpath=testjob&action=create 访问 https 端点 - localhost:8443/engine 但由于 SSL 证书而无法连接可能是?有什么想法吗?
    猜你喜欢
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-16
    • 1970-01-01
    • 1970-01-01
    • 2018-12-07
    • 1970-01-01
    • 2018-01-16
    相关资源
    最近更新 更多