如何下载文件并使用 href 名称重命名?

如何下载文件并使用 href 名称重命名?

如何从网页批量下载文件并使用它们的 href 名称(描述)重命名它们?

这个想法是,下载的文件具有描述性的名称,而原始文件名则不是这样。

例如,假设某个网页包含以下链接

<a href='http://www.example.com/docs/ex160.pdf'>Advanced Foo Bar</a>

理想情况下,我想将其保存为“Advanced Foo Bar.pdf”,但即使是“Advanced Foo Bar”也可以,因为我可以使用批量重命名实用程序将 pdf 扩展名添加到我必须下载的大约一百个文件中。

我一直在使用 Firefox 的 FlashGotAll 扩展进行下载,它在批量下载方面表现出色,只是没有内置重命名功能。

如果需要这个解决方案,我还可以启动 Linux(或使用 cygwin)并使用 curl 或 wget。

答案1

假设 html 内容看起来很像您的示例(即每行只有一个 href,没有分成几行,没有混合 HREF 和 href 等),您可以下载页面并运行

prompt$ grep www.example.com the_page.html | sed 's/.*href="\([^"]\+\)">\([^<]*\)<.*/wget -O "\2".pdf \1/' | tee files_to_download
wget -O "Advanced Foo Bar".pdf http://www.example.com/docs/ex160.pdf
...
prompt$

如果适用,编辑 files_to_download,然后通过运行下载sh files_to_download

相关内容