我已经阅读了 Wget 手册,但不幸的是它似乎没有解决我的问题,所以如果有人能为我提供一些帮助,我将不胜感激。
我们有一个网站(例如)website.com,它直接链接到(例如)website.com/1/、website.com/2/...等。
现在,website.com/r/(其中 r 是整数)的每个页面都链接到多个 pdf 文档。它们不是位于 website.com/r/doc-i.pdf(这会很方便),而是全部位于 website.com/files/doc-i.pdf。
因此,当我运行命令时wget -r -l 2 -A pdf website.com
,我当然会得到一个名为“files”的大文件夹,其中包含所有 pdf 文档。
然而,我更希望将它们组织到名为 1、2、...、n 的不同文件夹中,这些文件夹对应于下载它们的页面。由于我将总共下载大约 10,000 个 pdf 文件,因此我宁愿不必手动执行此操作。
那么我如何告诉 Wget 组织文件,而不是按照网站目录结构,而是按照访问文件的路径呢?
我希望我的解释是清楚的,并且这并不是太难实现。
答案1
(未经测试)以下需要一些调整,只是一个一般想法:
### get level1
wget -r -l website.com/
#### for each html file otained,
for a in $(find website.com -name '*.html' )
do
### get level 2 but prefix it with the base name
b=$(basename $a)
wget -P $b -r -l 1 -A pdf http://$a
done
- 可能这个发现需要一些 tunnig
- 也许添加一些东西
mv $b/website.com/files FINAL/$b
来降低水平