如何使用子集条件获取+生成CHM/...电子书?

如何使用子集条件获取+生成CHM/...电子书?

我想通过使用子集条件 wgetting 来生成 CHM/... 电子书:在中递归下载数据子集网站它位于.containerCHM 书籍的 HTML 类中。伪代码

  1. wget 递归获取章节的所有链接

    # TODO returns only index.html
    wget --random-wait -r -p -nd -e robots=off -A".html" \ 
     -U mozilla https://wwwnc.cdc.gov/travel/yellowbook/2018/table-of-contents
    
  2. 图1中当前主页中的内容.container和链接的子页面中的内容。

  3. 创建 CHM 电子书和/或其他格式

图1 CDC黄皮书检查.container

在此输入图像描述

输出:只是index.html

预期输出:电子书CHM和/或其他格式

Wget 提案

  1. 蒂姆斯

    wget -w5 --random-wait -r -nd -e robots=off -A".html" -U mozilla https://wwwnc.cdc.gov/travel/yellowbook/2018/table-of-contents
    

    输出:与第一个代码相同。

  2. 附拒绝名单

    wget -w5 --random-wait -r -nd -e robots=off -A".html" \
     -U mozilla -R css https://wwwnc.cdc.gov/travel/yellowbook/2018/table-of-contents
    

    输出:与没有拒绝列表时相同。

  3. 另一种变体

    wget -w5 --random-wait -r -nd -e robots=off -A".html" \
     -U mozilla https://wwwnc.cdc.gov/travel/yellowbook/2018/table-of-contents
    

    输出:与之前类似。

该工具 www.html2pdf.it 给出

不能获取http://wwwnc.cdc.gov/travel/yellowbook/2016/table-of-contents:http状态码404

操作系统:Debian 8.7

答案1

我发现你的问题了。限制-A".html"它只接受以.html.如果删除该部分,您将开始下载所有文件。

wget -w5 -r -nd -e robots=off -U mozilla http://wwwnc.cdc.gov/travel/yellowbook/2016/table-of-contents

编辑: 如果您想排除 js/css/etc 文件,那么您最好使用-R形成拒绝列表,而不是仅包含html.

答案2

我认为你不应该包含/排除内容,全部下载。 CHM 是编译后的 HTML,因此您需要一个 CSS 来替换现有的 CSS - 还有什么比使用现有 CSS 作为基础更好的解决方案呢?

至于 JavaScript,您可能想检查它的作用,因为您永远不知道,默认情况下,某些数据可能会被隐藏......

请记住,您可以在 master.hhc(针对您的 CHM)中定义包含/排除的内容。

您将需要Microsoft HTML 帮助研讨会要编译 CHM,我建议使用远的以及编辑您想要的和不想要的内容。

这些工具被设计为在 Windows 上工作,我很确定它们在 wine 上工作,但是,我还没有对此进行测试。

相关内容