
Gostaria de baixar automaticamente o podcast Morning Edition todos os dias. Eu não possuo nenhum produto da Apple. Baixei e instalei o flareget, mas não consigo descobrir como fazer isso. Não estou preso a essa ferramenta. Sou usuário do Firefox há muito tempo, mas atualmente estou testando o Chrome.
A URL do programa é: http://www.npr.org/programs/morning-edition/
O endereço RSS é:http://www.npr.org/rss/rss.php?id=3
O problema é que o RSS inclui um link para uma página da web para a história individual, em vez de um link para o mp3.
<rss xmlns:npr="http://www.npr.org/rss/" xmlns:nprml="http://api.npr.org/nprml" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
<channel>
<title>
Morning Edition : NPR
</title>
<link>
http://www.npr.org/templates/story/story.php?storyId=3
</link>
<description>
Morning Edition gives its audience news, analysis, commentary, and coverage of arts and sports. Stories are told through conversation as well as full reports. It's up-to-the-minute news that prepares listeners for the day ahead.
</description>
<language>en</language>
<copyright>Copyright 2015 NPR - For Personal Use Only</copyright>
<generator>NPR API RSS Generator 0.94</generator>
<lastBuildDate>Fri, 06 Nov 2015 12:45:00 -0500</lastBuildDate>
<image>
<url>http://media.npr.org/images/podcasts/primary/npr_generic_image_300.jpg?s=200</url>
<title>Morning Edition</title>
<link>http://www.npr.org/templates/story/story.php?storyId=3</link>
</image>
<item>
<title>Russian Airliner Crash Update</title>
<description>
The latest information on the Russian airliner that crashed in Egypt. All 224 people on board were killed.
</description>
<pubDate>Fri, 06 Nov 2015 12:45:00 -0500</pubDate>
<link>
http://www.npr.org/2015/11/06/455019224/russian-airliner-crash-update?utm_medium=RSS&utm_campaign=morningedition
</link>
<guid>
http://www.npr.org/2015/11/06/455019224/russian-airliner-crash-update?utm_medium=RSS&utm_campaign=morningedition
</guid>
<content:encoded>
<![CDATA[
<p>The latest information on the Russian airliner that crashed in Egypt. All 224 people on board were killed.</p>
]]>
</content:encoded>
<dc:creator>Corey Flintoff</dc:creator>
</item>
...
Quando abro http://www.npr.org/2015/11/06/455019224/russian-airliner-crash-update?utm_medium=RSS&utm_campaign=morningedition
no meu navegador, há um link na página para o arquivo mp3 da história:
http://pd.npr.org/anon.npr-mp3/npr/me/2015/11/20151106_me_egypt_plane_crash_probe_russia.mp3?dl=1
Posso ver que existe um padrão facilmente identificável que eu poderia usar, mas não consigo descobrir quais ferramentas usar ou como fazê-las fazer o que desejo.
O arquivo de áudio de cada história começa com:
http://pd.npr.org/anon.npr-mp3/npr/me/
em seguida, adicione uma pasta para o ano
http://pd.npr.org/anon.npr-mp3/npr/me/2015
e um para o mês
http://pd.npr.org/anon.npr-mp3/npr/me/2015/11
todos os mp3 do programa de hoje são
yyyymmdd_me*.mp3
O rastreamento ?dl=1
não parece ser necessário.
Responder1
Você precisará escrever um robô da web para navegar no site até encontrar os URLs .mp3 que deseja baixar e, em seguida, baixar exatamente esses URLs.
Para perl
, a solução óbvia é usar olibwww-perlpacote (também conhecido como LWP
).
Para python
, vou recomendar omecanizarouásperobibliotecas python.
Ambas as bibliotecas python são empacotadas para Debian e Ubuntu como python-mechanize
e python-scrapy
, então instale os pacotes (e não siga as pip install
instruções nos sites)
Existem bibliotecas semelhantes para outras linguagens.