Como posso programar o podcast automático de edição matinal?

1

Eu gostaria de baixar automaticamente o podcast Morning Edition todos os dias. Eu não possuo produtos de maçã. Eu baixei e instalei o flareget, mas não consegui descobrir como fazer isso. Eu não estou preso nessa ferramenta. Eu sou um usuário do Firefox há muito tempo, mas atualmente estou testando o Chrome.

O URL do programa é: link

O endereço do RSS é: link

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

Eu 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 eu quero.

O arquivo de áudio de cada história começa com:

http://pd.npr.org/anon.npr-mp3/npr/me/

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 mp3s do programa de hoje são

yyyymmdd_me*.mp3

O ?dl=1 não parece ser necessário.

    
por NJRandy 07.11.2015 / 17:06

1 resposta

1

Você precisará escrever um robô da Web para navegar no site até encontrar o (s) URL (s) .mp3 que deseja baixar e, em seguida, fazer o download exatamente desses URLs.

Para perl , a solução óbvia é usar o pacote libwww-perl (também conhecido como LWP ).

Para python , eu recomendarei o mecanizar ou scrapy bibliotecas python.

Ambas as bibliotecas python são empacotadas para o Debian e Ubuntu como python-mechanize e python-scrapy , então instale os pacotes (e não siga as instruções pip install ou o que quer que seja nos sites)

Existem bibliotecas semelhantes para outros idiomas.

    
por cas 08.11.2015 / 04:40