Редактировать: Переведено
У меня есть RSS-лента, которую я хочу проанализировать.Это подкаст, и я хочу, чтобы только MP3-URL загружали его с помощью wget.
Это подкаст: http://feeds.feedburner.com/Film-UndKino-trailerVideopodcast
Название должно содержать (de), чтобы получить только немецкийэпизоды.Дата публикации должна быть сегодня.
(de)
Было бы здорово, если бы кто-нибудь мог мне помочь - я зашел так далеко:
wget -q -O- view-source:http://feeds.feedburner.com/Film-UndKino-trailerVideopodcast?format=xml| awk 'BEGIN{RS=""} /(date +'%d %M %Y')/{ gsub(/.*|.*/,"") print }
Но это не сработало.
Заранее спасибо, arneb3rt
Вам нужно удалить «view-source:» из команды wget и выполнить команду даты (с% b для печати сокращенного месяца вместо% M) за пределами команды awk. Следующий скрипт bash использует grep вместо awk для получения URL-адресов, по которым wget может получить подкасты.
Обратите внимание, что, вероятно, из-за выходных, с 24 декабря 2011 года в ленте не было подкастов, поэтому я жестко закодировал дату последнего подкаста для тестирования:
url='http://feeds.feedburner.com/Film-UndKino-trailerVideopodcast?format=xml' d=$(date +'%d %b %Y') d="24 Dec 2011" echo "Checking podcasts for date: ${d}" wget -q -O- ${url} |\ grep -A6 "(de)" |\ grep -A1 "${d}" |\ egrep -o 'http[^ ]*de.mp4' |\ sort | uniq
В выводе приведенного выше скрипта bash перечислены два URL-адреса (один feedburner, а другой iTunes):
Checking podcasts for date: 24 Dec 2011 http://feedproxy.google.com/~r/Film-UndKino-trailerVideopodcast/~5/pzeSvkVK-3A/trailer01_de.mp4 http://www.moviemaze-trailer.de/ipod/6841/trailer01_de.mp4
Таким образом, вы можете получить подкаст 24 декабря 2011 года по любому из указанных выше URL.