Wie kann ich den automatischen Download des Morning Edition-Podcasts planen?

Wie kann ich den automatischen Download des Morning Edition-Podcasts planen?

Ich möchte den Morning Edition-Podcast jeden Tag automatisch herunterladen. Ich besitze keine Apple-Produkte. Ich habe Flareget heruntergeladen und installiert, weiß aber nicht, wie ich das hinbekomme. Ich bin nicht an dieses Tool gebunden. Ich bin schon lange Firefox-Benutzer, teste aber gerade Chrome.

Die URL für das Programm lautet: http://www.npr.org/programs/morning-edition/

Die RSS-Adresse lautet:http://www.npr.org/rss/rss.php?id=3

Das Problem besteht darin, dass der RSS-Feed statt eines Links zur MP3-Datei einen Link zu einer Webseite für die einzelne Geschichte enthält.

<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>
...

Wenn ich die Seite in meinem Browser öffne http://www.npr.org/2015/11/06/455019224/russian-airliner-crash-update?utm_medium=RSS&utm_campaign=morningedition , wird auf ihr ein Link zur MP3-Datei der Geschichte angezeigt: http://pd.npr.org/anon.npr-mp3/npr/me/2015/11/20151106_me_egypt_plane_crash_probe_russia.mp3?dl=1

Ich sehe, dass es ein leicht erkennbares Muster gibt, das ich verwenden könnte, weiß aber nicht, welche Werkzeuge ich verwenden soll oder wie ich sie dazu bringe, das zu tun, was ich will.

Die Audiodatei jeder Geschichte beginnt mit:

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

dann füge einen Ordner für das Jahr hinzu

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

und eine für den Monat

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

alle mp3s für die heutige Sendung sind

yyyymmdd_me*.mp3

Das Trailing ?dl=1scheint nicht notwendig zu sein.

Antwort1

Sie müssen einen Webroboter schreiben, der durch die Site navigiert, bis er die MP3-URL(s) findet, die Sie herunterladen möchten, und dann genau diese URL(s) herunterlädt.

Für perlist die offensichtliche Lösung die Verwendung vonlibwww-perlPaket (auch bekannt als LWP).

Für python, empfehle ich diemechanisierenoderkratzigPython-Bibliotheken.

Beide Python-Bibliotheken sind für Debian und Ubuntu als python-mechanizeund gepackt python-scrapy, also installieren Sie die Pakete (und folgen Sie nicht den pip installoder anderen Anweisungen auf den Websites).

Es gibt ähnliche Bibliotheken für andere Sprachen.

verwandte Informationen