1 from .common
import InfoExtractor
4 class ThisAmericanLifeIE(InfoExtractor
):
5 _VALID_URL
= r
'https?://(?:www\.)?thisamericanlife\.org/(?:radio-archives/episode/|play_full\.php\?play=)(?P<id>\d+)'
7 'url': 'http://www.thisamericanlife.org/radio-archives/episode/487/harper-high-school-part-one',
8 'md5': '8f7d2da8926298fdfca2ee37764c11ce',
12 'title': '487: Harper High School, Part One',
13 'description': 'md5:ee40bdf3fb96174a9027f76dbecea655',
14 'thumbnail': r
're:^https?://.*\.jpg$',
17 'url': 'http://www.thisamericanlife.org/play_full.php?play=487',
18 'only_matching': True,
21 def _real_extract(self
, url
):
22 video_id
= self
._match
_id
(url
)
24 webpage
= self
._download
_webpage
(
25 f
'http://www.thisamericanlife.org/radio-archives/episode/{video_id}', video_id
)
29 'url': f
'http://stream.thisamericanlife.org/{video_id}/stream/{video_id}_64k.m3u8',
30 'protocol': 'm3u8_native',
35 'title': self
._html
_search
_meta
(r
'twitter:title', webpage
, 'title', fatal
=True),
36 'description': self
._html
_search
_meta
(r
'description', webpage
, 'description'),
37 'thumbnail': self
._og
_search
_thumbnail
(webpage
),