我想每天自动下载 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
网站上的或任何说明进行操作)
其他语言也有类似的库。