diff options
| author | Sergey M․ <dstftw@gmail.com> | 2015-04-04 16:47:24 +0600 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2015-04-04 16:47:24 +0600 | 
| commit | f1ce35af1a6626e4153e60fe6f8a82f0f7e0d1a3 (patch) | |
| tree | b5607bb6aa49d35f44684a8fa1fe401672e929dd /youtube_dl/extractor/radiojavan.py | |
| parent | ff556f5c09ec8700bb012a58a5e39505b887b774 (diff) | |
| parent | 6e617ed0b6b5bb932f928f63c2bda36f5317468d (diff) | |
Merge branch 'mtp1376-radiojavan'
Diffstat (limited to 'youtube_dl/extractor/radiojavan.py')
| -rw-r--r-- | youtube_dl/extractor/radiojavan.py | 66 | 
1 files changed, 66 insertions, 0 deletions
| diff --git a/youtube_dl/extractor/radiojavan.py b/youtube_dl/extractor/radiojavan.py new file mode 100644 index 000000000..73ab78d6d --- /dev/null +++ b/youtube_dl/extractor/radiojavan.py @@ -0,0 +1,66 @@ +from __future__ import unicode_literals + +import re + +from .common import InfoExtractor +from ..utils import( +    unified_strdate, +    str_to_int, +) + + +class RadioJavanIE(InfoExtractor): +    _VALID_URL = r'https?://(?:www\.)?radiojavan\.com/videos/video/(?P<id>[^/]+)/?' +    _TEST = { +        'url': 'http://www.radiojavan.com/videos/video/chaartaar-ashoobam', +        'md5': 'e85208ffa3ca8b83534fca9fe19af95b', +        'info_dict': { +            'id': 'chaartaar-ashoobam', +            'ext': 'mp4', +            'title': 'Chaartaar - Ashoobam', +            'thumbnail': 're:^https?://.*\.jpe?g$', +            'upload_date': '20150215', +            'view_count': int, +            'like_count': int, +            'dislike_count': int, +        } +    } + +    def _real_extract(self, url): +        video_id = self._match_id(url) + +        webpage = self._download_webpage(url, video_id) + +        formats = [{ +            'url': 'https://media.rdjavan.com/media/music_video/%s' % video_path, +            'format_id': '%sp' % height, +            'height': height, +        } for height, video_path in re.findall(r"RJ\.video(\d+)p\s*=\s*'/?([^']+)'", webpage)] + +        title = self._og_search_title(webpage) +        thumbnail = self._og_search_thumbnail(webpage) + +        upload_date = unified_strdate(self._search_regex( +            r'class="date_added">Date added: ([^<]+)<', +            webpage, 'upload date', fatal=False)) + +        view_count = str_to_int(self._search_regex( +            r'class="views">Plays: ([\d,]+)', +            webpage, 'view count', fatal=False)) +        like_count = str_to_int(self._search_regex( +            r'class="rating">([\d,]+) likes', +            webpage, 'like count', fatal=False)) +        dislike_count = str_to_int(self._search_regex( +            r'class="rating">([\d,]+) dislikes', +            webpage, 'dislike count', fatal=False)) + +        return { +            'id': video_id, +            'title': title, +            'thumbnail': thumbnail, +            'upload_date': upload_date, +            'view_count': view_count, +            'like_count': like_count, +            'dislike_count': dislike_count, +            'formats': formats, +        } | 
