HTML 페이지에서 모든 mp3 파일을 가져오는 Bash 스크립트

HTML 페이지에서 모든 mp3 파일을 가져오는 Bash 스크립트

.mp3HTML 페이지에서 파일을 가져오는 방법을 생각하고 있었는데 수동으로 사용했습니다.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"

관련된

Ebay HTML 페이지에서 일부 정보를 추출하는 Bash 스크립트

awk를 사용하여 HTML 파일에서 URL을 추출하는 방법은 무엇입니까?

bash - 여러 링크가 포함된 html 파일에서 파일 이름 추출

답변1

다음 스크립트는 .mp3HTML 파일의 변수에 포함된 모든 링크나 URL을 다운로드합니다 $thread. lynx -dump -listonly이는 쉘 스크립트가 HTML 파일이나 URL에서 URL 목록을 추출하는 가장 간단하고 편리한 방법 중 하나인 를 활용합니다 .

스크립트를 사용하려면 파일이 나열된 색인 페이지의 URL을 알아야 합니다 .mp3. 또는 다운로드한 페이지 사본이 포함된 파일 이름입니다.

http://www.podcastfrancaisfacile.com/mp3-list.html색인 URL이 무엇인지 언급하지 않았으므로 가짜 URL을 예로 사용하겠습니다 . 올바른 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}"

관련 정보