我有以下文件夹结构:
example.com
|
|_ folder1
| |_ file1.mp4
|
|_ folder2
| |_ file2.mp4
|
|_ folder3
| |_ file3.mp4
|
|_ folder4
|_ file4.mp4我想下载所有的mp4文件,我可以这样做:
wget --no-parent -A mp4 example.com/
但是,这些文件的大小很大,并不是全部都适合我的机器。因此,我只想得到每个mp4的D3,当我有更多的空间时,我可以下载。
如何获得以下url,并可能将其输出到文件(不管url编码与否):
example.com/folder1/file1.mp4
example.com/folder2/file2.mp4
...发布于 2021-05-23 01:37:36
您可以使用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的列表,然后用wget -i 从该列表中下载。
发布于 2021-05-23 02:48:25
您可以拒绝mp4文件,同时将拒绝记录到稍后可用于下载这些mp4的文件中。
根据上面的命令(您可能需要添加-r):
wget --no-parent --rejected-log=file.rej -R mp4 example.com/拒绝将在file.rej。它有许多字段,第二个字段是拒绝的URL。
https://unix.stackexchange.com/questions/650963
复制相似问题