我想通过使用子集条件 wgetting 来生成 CHM/... 电子书:在中递归下载数据子集网站它位于.container
CHM 书籍的 HTML 类中。伪代码
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
图1中当前主页中的内容
.container
和链接的子页面中的内容。创建 CHM 电子书和/或其他格式
图1 CDC黄皮书检查.container
输出:只是index.html
预期输出:电子书CHM和/或其他格式
Wget 提案
蒂姆斯
wget -w5 --random-wait -r -nd -e robots=off -A".html" -U mozilla https://wwwnc.cdc.gov/travel/yellowbook/2018/table-of-contents
输出:与第一个代码相同。
附拒绝名单
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
输出:与没有拒绝列表时相同。
另一种变体
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 上工作,但是,我还没有对此进行测试。