在使用wget
下面的命令时,
$ wget \
--recursive \
--no-clobber \
--page-requisites \
--html-extension \
--convert-links \
--restrict-file-names=windows \
--domains grantmlong.com \
--no-parent \
grantmlong.com/teaching/index.html
我一直在尝试下载教授的所有内容课程页面。由于某种原因,虽然网站其余部分的大部分图像内容正在正确下载,但Reveal.js讲座幻灯片未下载。
例如,如果在我的本地计算机上,我导航到grantmlong.com/teaching/lectures/
并打开lecture1.html
,则第三张幻灯片显示的内容是
在网站上,我发现该图像位于https://grantmlong.com/teaching/lectures/img/hbr.png
。如果我导航到img
下载的本地文件夹wget
,我会看到
cd grantmlong.com/teaching/lectures/img
ls -1
l10_f0.png
l10_f1.png
l10_f2.png
l10_f3.png
l10_f4.png
l10_f5b.png
l10_f5.png
l10_f6.png
l10_f7.png
l10_p1.png
l10_p2.png
l11_p1.png
l11_p2.png
l11_p3.png
l11_p4.png
l11_p5.png
l11_p6.png
l12_p1.png
l12_p2.png
l5_e1.png
l5_e2.png
l5_e3.png
l5_e4.png
l5_glm.png
l5_logreg.png
l5_p10.png
l5_p11.png
l5_p1a.png
l5_p1b.png
l5_p2.png
l5_p3.png
l5_p4.png
l5_p5.png
l5_p6.png
l5_p7.png
l5_p8.png
l5_p9.png
l5_reg_output_1.png
l5_reg_output_2.png
l5_reg_output_3.png
l5_reg_output_4.png
l5_reg_output.png
l6_accuracy.png
l6_confusion.png
l6_p1.png
l6_precision.png
l6_recall.png
l9_p1.png
l9_p2.png
l9_p3.png
l9_p4.png
l9_t1.png
l9_t2.png
l9_t3.png
l9_t4.png
l9_t5.png
hbr.png
无处可寻,这表明这些 Reveal.js 幻灯片中的图像不被视为“页面必需品”,并且不会被wget
.
我该如何确保这些图像被下载?另请注意,reveal.js 幻灯片上的一些图像来自 3rd 方网站,例如吉菲。如何确保下载此外部内容,同时--domains grantmlong.com
对所有非 Reveal.js 幻灯片的页面保持该选项为 true?
答案1
答案2
经过更多搜索后,我找到了一个(hacky)解决方案来解决下载 Reveal.js 幻灯片存档的问题。在 codimd github 上,用户“zeigerpuppy”发布了以下回应:
我找到了一种方法来保存使用 codimd 构建的幻灯片演示文稿的存档。我在让 wget 从演示文稿中提取图像时遇到了一些麻烦(我认为是因为图像的链接是降价的)。
因此,这是一个三步过程,但速度快且效果良好。假设您要在以下位置放映幻灯片https://codimd.server.net/p/S1PIjfhM8#/
用于
wget
获取文件和必需文件(.css 和 .js)
- 你的演示文稿最终将是
p/S1PIjfhM8.html
`
wget --recursive --no-clobber --page-requisites \ --html-extension --convert-links \ --domains codimd.server.net \ https://codimd.server.net/p/S1PIjfhM8#/
使用火狐插件:图像选择
- 使用保存模式:
Image_Picka/uploads/${name}${ext}
- 它获取页面上的所有图像(包括.svg)
- 将图像移动到
uploads
Web 存档根目录中名为的文件夹中我们需要使用
sed
将 html 文件中的链接更改为相对链接,以便它们指向图像`
cd p sed -i .bak 's|/uploads/upload_|../uploads/upload_|g' S1PIjfhM8.html
然后您将获得可以离线运行的幻灯片的完整副本。它也适用于存档目的。
如果像这样的东西也内置到保存选项下的 codimd 程序中,那就太好了,也许
save slides
。
我采取了类似的方法,尽管我没有使用 执行最后一步sed
。相反,我使用 Image Picka 下载所有错过的图像wget
,并将它们放入grantmlong.com/teaching/lectures/img/
本地wget
存档的目录中。这使得大部分图像内容出现在幻灯片中。
虽然无法加载来自第 3 方网站的 gif,但这些大多是美观的(没有 .gif 格式的重要方程或图表。)因此,我很高兴我可以离线查看最重要的内容。