팟캐스트가 제공되면 rss feed
명령줄에서 전체 팟캐스트를 어떻게 다운로드할 수 있나요?
저는 완전한 명령줄 팟캐스트 클라이언트를 찾고 있는 것이 아닙니다. 특정 팟캐스트의 전체 기록(모든 에피소드)을 mp3로 다운로드하려면 일회성 명령만 필요합니다.
예를 들어, 다음은 거의 200개 에피소드로 구성된 RSS 피드입니다.
http://www.internethistorypodcast.com/feed/
어떻게 모두 mp3 파일로 다운로드할 수 있나요?
답변1
youtube-dl
할수있다.
피드의 URL을 유일한 매개변수로 전달하기만 하면 됩니다.
답변2
~에서이 게시물:
URL="https://feeds.feedburner.com/TEDenEspanol"
curl -s $URL | xmlstarlet sel -N atom="http://www.w3.org/2005/Atom" -t -m './/enclosure' -v '@url' -n | wget -i -
curl
URL에서 XML 가져오기xmlstarlet
XML에서 첨부 URL 추출wget
STDIN에서 URL 목록 다운로드
모든 링크를 다운로드하지 않으려면 필요하지 않습니다 wget
.
예를 들어 제목을 얻으려면 다음을 수행하십시오.
curl -s $URL | xmlstarlet sel -t -v 'rss/channel/title'
답변3
이것을 시도해 보세요. 제게는 잘 작동합니다.
$ curl http://www.internethistorypodcast.com/feed/ | grep -Eo "(http|https)://[a-zA-Z0-9./?=_%:-]*mp3" | sort -u | xargs wget
curl
오리지널 팟캐스트 컬렉션grep
mp3 URL 추출sort
중복 제거 (이 경우에는 와 같다고 생각합니다uniq
)xargs
wget에 mp3 URL을 하나씩 파이프하세요.wget
mp3 파일을 현재 폴더에 하나씩 다운로드
답변4
나는 RSS 피드나 그 형식에 익숙하지 않습니다. 예를 들어 newsbeuter
, 당신이 말하는 피드에는 거의 200개의 에피소드가 있다는 것도 알 수 없습니다 (기사는 10개만 보입니다).
.mp3
하지만 피드에 언급된 파일을 다운로드하는 것이 유일한 목적이라면 다음 방법이 도움이 될 수 있습니다.
wget http://www.internethistorypodcast.com/feed/ -O feed
wget $(grep -ioP '<enclosure\s+url="\K.*?\.mp3(?=")' feed)
첫 번째 명령은 피드 파일을 다운로드하여 으로 저장합니다 . 두 번째 명령은 feed
파일의 태그에서 .mp3
파일 이름을 추출하여 다운로드합니다.enclosure
feed
참고: 방금 사이트를 탐색했지만 찾을 수 없습니다.충분히피드/다운로드 목록. 그것이 없는 것은 아마도 의도적인 것이며, 그런 점을 고려하면, 모든 팟캐스트를 추출/다운로드하기 위해 웹사이트 자체를 스크레이핑하는 방법을 설명하는 것은 적절하지 않다고 생각합니다.