
Me gustaría descargar automáticamente el podcast Morning Edition todos los días. No tengo ningún producto de Apple. Descargué e instalé flareget, pero no sé cómo hacerlo. No estoy encerrado en esa herramienta. Soy usuario de Firefox desde hace mucho tiempo, pero actualmente estoy probando Chrome.
La URL del programa es: http://www.npr.org/programs/morning-edition/
La dirección RSS es:http://www.npr.org/rss/rss.php?id=3
El problema es que el RSS incluye un enlace a una página web para la historia individual en lugar de un enlace al 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>
...
Cuando abro http://www.npr.org/2015/11/06/455019224/russian-airliner-crash-update?utm_medium=RSS&utm_campaign=morningedition
en mi navegador, hay un enlace en la página al archivo mp3 de la historia:
http://pd.npr.org/anon.npr-mp3/npr/me/2015/11/20151106_me_egypt_plane_crash_probe_russia.mp3?dl=1
Puedo ver que hay un patrón fácilmente identificable que podría usar, pero no puedo entender qué herramientas usar o cómo hacer que hagan lo que quiero.
El archivo de audio de cada historia comienza con:
http://pd.npr.org/anon.npr-mp3/npr/me/
luego agregue una carpeta para el año
http://pd.npr.org/anon.npr-mp3/npr/me/2015
y uno para el mes
http://pd.npr.org/anon.npr-mp3/npr/me/2015/11
Todos los mp3 para el programa de hoy están
yyyymmdd_me*.mp3
El seguimiento ?dl=1
no parece necesario.
Respuesta1
Deberá escribir un robot web para navegar por el sitio hasta que encuentre las URL .mp3 que desea descargar y luego descargar exactamente esas URL.
Para perl
, la solución obvia es utilizar ellibwww-perlpaquete (también conocido como LWP
).
Para python
, recomendaré elmecanizaroraspadobibliotecas de Python.
Ambas bibliotecas de Python están empaquetadas para Debian y Ubuntu como python-mechanize
y python-scrapy
, así que instale los paquetes (y no siga las pip install
instrucciones de los sitios web).
Existen bibliotecas similares para otros idiomas.