wget 获取下载路径但不下载

wget 获取下载路径但不下载

我有以下文件夹结构:

example.com
|
|_ folder1
| |_ file1.mp4
|
|_ folder2
| |_ file2.mp4
|
|_ folder3
| |_ file3.mp4
|
|_ folder4
  |_ file4.mp4

我想下载所有 mp4 文件,我可以这样做:

wget --no-parent -A mp4 example.com/

但是,这些文件很大,无法全部适合我的机器。因此,我只想获取path每个内容mp4,当我有更多空间时可以下载。

如何获取以下 url,并可能输出到文件(无论 url 是否编码):

example.com/folder1/file1.mp4
example.com/folder2/file2.mp4
...

答案1

您可以使用 wget 制作地址列表:

# parse listing index.html 
$ wget -O- http://download.savannah.gnu.org/releases/lzip/ | grep -oE '["].*\.lz["]' | sed -e 's/^.*href=//' -e 's/\"//g' > urls.txt
# download files from list
$ wget -i urls.txt

如果你有更多,你可以将它们放入数组中,然后

addresses=(\
"http://aaaaa" \
"http://bbbb" \
"http://ccc" \
)

for adr in ${addresses[@]}; do
    wget -O- ...
done

您还可以将所有这些组合起来 - 在第一步中制作列表列表 (index.html-s),然后在第二步中制作 .mp4-s 列表,然后使用 .mp4-s 从该列表中下载wget -i <urls>

答案2

您可以拒绝 mp4 文件,同时将拒绝记录到文件中,以便稍后用于下载这些 mp4。

根据上面的命令(您可能需要添加-r):

wget --no-parent --rejected-log=file.rej -R mp4 example.com/

拒绝将在file.rej.它有很多字段,第二个是被拒绝的 URL。

相关内容