.mp3
我正在考虑一种从 html 页面获取文件的方法,我确实手动使用了wget
wget http://www.podcastfrancaisfacile.com/wp-content/uploads/files/question-prix.mp3
所以,我尝试这个自动获取所有 mp3 文件的方法
grep -i -E -o "content="http://www.podcastfrancaisfacile.com/wp-content/uploads/files/*.mp3" "$thread" | sed 's/ /_/g' - > "$names"
其中“ $thread
”是 html 文件的名称,“ $names
”是作为输出的文件名列表。
和
sed -ne 's/.*\(http[^"]*\).*/\1/p' < "$thread"
有关的
答案1
以下脚本将下载.mp3
HTML 文件中的每个链接或变量中包含的 URL $thread
。它利用lynx -dump -listonly
,这是 shell 脚本从 HTML 文件或 URL 中提取 URL 列表的最简单、最方便的方法之一。
该脚本要求您知道列出文件的索引页的 URL .mp3
。或者包含该页面已下载副本的文件名。
您没有提到索引 URL 是什么,所以我仅使用伪造的 URLhttp://www.podcastfrancaisfacile.com/mp3-list.html
作为示例。替换为正确的 URL 或文件名。
#! /bin/bash
thread='http://www.podcastfrancaisfacile.com/mp3-list.html'
#thread='mp3-list.html'
while IFS= read -r url ; do
wget "$url"
done < <(lynx -dump -listonly "$thread" | awk '/\.mp3$/ {print $2}')
答案2
你可以使用wget
的递归检索选项。例如:
$ wget \
-e robots=off \
--accept '*.mp3' \
--level=1 \
--recursive \
--no-directories \
"${thread}"