如何安排自动下载晨间版播客?

如何安排自动下载晨间版播客?

我想每天自动下载 Morning Edition 播客。我没有任何苹果产品。我下载并安装了 flareget,但不知道该如何操作。我并没有被那个工具束缚。我是 Firefox 的老用户,但目前正在试用 Chrome。

该程序的 URL 为: http://www.npr.org/programs/morning-edition/

RSS地址为:http://www.npr.org/rss/rss.php?id=3

问题在于 RSS 包含指向单个故事的网页的链接,而不是指向 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>
...

当我http://www.npr.org/2015/11/06/455019224/russian-airliner-crash-update?utm_medium=RSS&utm_campaign=morningedition 在浏览器中打开时,页面上有一个指向该故事的 mp3 文件的链接: http://pd.npr.org/anon.npr-mp3/npr/me/2015/11/20151106_me_egypt_plane_crash_probe_russia.mp3?dl=1

我看到了一种我可以使用且易于识别的模式,但却不知道该使用什么工具或如何让它们做我想要做的事情。

每个故事的音频文件都以以下内容开头:

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

然后添加一个年份文件夹

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

以及一个月的

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

今天节目的所有 mp3 都是

yyyymmdd_me*.mp3

尾随?dl=1似乎没有必要。

答案1

您需要编写一个网络机器人来导航网站,直到找到您想要下载的 .mp3 URL,然后准确下载这些 URL。

对于perl,显而易见的解决方案是使用libwww-perl包(又名LWP)。

对于python,我建议机械化或者scrapypython 库。

这两个 Python 库都已打包为 Debian 和 Ubuntu 版本,python-mechanize因此python-scrapy请安装这些包(不要按照pip install网站上的或任何说明进行操作)

其他语言也有类似的库。

相关内容