diff options
| author | sprhawk <465558+sprhawk@users.noreply.github.com> | 2017-12-26 22:27:26 +0800 | 
|---|---|---|
| committer | sprhawk <465558+sprhawk@users.noreply.github.com> | 2017-12-26 22:27:26 +0800 | 
| commit | c33de004e13da11f1ae3cad7310b36500cfb9d28 (patch) | |
| tree | c742e448af6c126eca4b259c85f83177aec54847 /youtube_dl/extractor/rai.py | |
| parent | 42a1012c7767306626c5358a18ad3e86417bd7b7 (diff) | |
| parent | db145ee54a57f5ccc89639de8c589eb111a91b19 (diff) | |
Merge branch 'master' of github.com:rg3/youtube-dl into weibo
Diffstat (limited to 'youtube_dl/extractor/rai.py')
| -rw-r--r-- | youtube_dl/extractor/rai.py | 36 | 
1 files changed, 36 insertions, 0 deletions
| diff --git a/youtube_dl/extractor/rai.py b/youtube_dl/extractor/rai.py index 5bf64a56b..d22311031 100644 --- a/youtube_dl/extractor/rai.py +++ b/youtube_dl/extractor/rai.py @@ -17,6 +17,7 @@ from ..utils import (      parse_duration,      strip_or_none,      try_get, +    unescapeHTML,      unified_strdate,      unified_timestamp,      update_url_query, @@ -249,6 +250,41 @@ class RaiPlayLiveIE(RaiBaseIE):          } +class RaiPlayPlaylistIE(InfoExtractor): +    _VALID_URL = r'https?://(?:www\.)?raiplay\.it/programmi/(?P<id>[^/?#&]+)' +    _TESTS = [{ +        'url': 'http://www.raiplay.it/programmi/nondirloalmiocapo/', +        'info_dict': { +            'id': 'nondirloalmiocapo', +            'title': 'Non dirlo al mio capo', +            'description': 'md5:9f3d603b2947c1c7abb098f3b14fac86', +        }, +        'playlist_mincount': 12, +    }] + +    def _real_extract(self, url): +        playlist_id = self._match_id(url) + +        webpage = self._download_webpage(url, playlist_id) + +        title = self._html_search_meta( +            ('programma', 'nomeProgramma'), webpage, 'title') +        description = unescapeHTML(self._html_search_meta( +            ('description', 'og:description'), webpage, 'description')) +        print(description) + +        entries = [] +        for mobj in re.finditer( +                r'<a\b[^>]+\bhref=(["\'])(?P<path>/raiplay/video/.+?)\1', +                webpage): +            video_url = urljoin(url, mobj.group('path')) +            entries.append(self.url_result( +                video_url, ie=RaiPlayIE.ie_key(), +                video_id=RaiPlayIE._match_id(video_url))) + +        return self.playlist_result(entries, playlist_id, title, description) + +  class RaiIE(RaiBaseIE):      _VALID_URL = r'https?://[^/]+\.(?:rai\.(?:it|tv)|rainews\.it)/dl/.+?-(?P<id>%s)(?:-.+?)?\.html' % RaiBaseIE._UUID_RE      _TESTS = [{ | 
