1
0
mirror of https://github.com/l1ving/youtube-dl synced 2025-02-11 06:32:55 +08:00

[OdaTV] Add new extractor

This commit is contained in:
skacurt 2016-04-23 04:20:04 +03:00
parent 29a7e8f6f8
commit 0329337f8c
2 changed files with 61 additions and 0 deletions

View File

@ -542,6 +542,7 @@ from .nytimes import (
NYTimesArticleIE, NYTimesArticleIE,
) )
from .nuvid import NuvidIE from .nuvid import NuvidIE
from .odatv import OdaTVIE
from .odnoklassniki import OdnoklassnikiIE from .odnoklassniki import OdnoklassnikiIE
from .oktoberfesttv import OktoberfestTVIE from .oktoberfesttv import OktoberfestTVIE
from .onionstudios import OnionStudiosIE from .onionstudios import OnionStudiosIE

View File

@ -0,0 +1,60 @@
# coding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
from ..utils import (
ExtractorError,
remove_start
)
import re
class OdaTVIE(InfoExtractor):
_VALID_URL = r'^https?://(?:www\.)?odatv\.com/(?:mob|vid)_video\.php\?id=(?P<id>[^&]*)'
_TESTS = [{
'url': 'http://odatv.com/vid_video.php?id=8E388',
'md5': 'dc61d052f205c9bf2da3545691485154',
'info_dict': {
'id': '8E388',
'ext': 'mp4',
'title': 'md5:69654805a16a16cf9ec9d055e079831c'
}
}, {
'url': 'http://odatv.com/mob_video.php?id=8E388',
'md5': 'dc61d052f205c9bf2da3545691485154',
'info_dict': {
'id': '8E388',
'ext': 'mp4',
'title': 'md5:69654805a16a16cf9ec9d055e079831c'
}
}, {
'url': 'http://odatv.com/mob_video.php?id=8E900',
'md5': '',
'info_dict': {
'id': '8E900',
'ext': 'mp4',
'title': 'not found check'
}
}, {
'url': 'http://odatv.com/mob_video.php?id=8E395',
'md5': '13179a1025f07b60933d311e06574a70',
'info_dict': {
'id': '8E395',
'ext': 'mp4',
'title': 'md5:16d2e8d0eb42e793d8224af3fae20c86'
}
}]
def _real_extract(self, url):
video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
print(url)
if 'NO VIDEO!' in webpage:
raise ExtractorError('Video %s does not exist' % video_id, expected=True)
return {
'id': video_id,
'title': remove_start(self._og_search_title(webpage), 'Video: '),
'thumbnail': self._og_search_thumbnail(webpage),
'url': self._html_search_regex(r"(http.+?video_%s\.mp4)" % re.escape(video_id), webpage, 'url', flags=re.IGNORECASE)
}