Как я могу запланировать автоматическую загрузку подкаста Morning Edition?

Я хотел бы автоматически загружать подкаст 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 ответ

Вам нужно будет написать веб-робота для навигации по сайту, пока он не найдет URL-адреса.mp3, которые вы хотите загрузить, а затем загрузите именно эти URL-адреса.

За perlочевидное решение заключается в использовании пакета libwww-perl LWP).

За pythonЯ порекомендую библиотеки python для механизации или scrapy.

Обе эти библиотеки Python упакованы для Debian и Ubuntu как python-mechanize а также python-scrapy, поэтому установите пакеты (и не следуйте pip install или какие-либо инструкции на веб-сайтах)

Есть похожие библиотеки для других языков.

Другие вопросы по тегам