diff options
author | Philipp Hagemeister <phihag@phihag.de> | 2013-07-17 11:16:53 +0200 |
---|---|---|
committer | Philipp Hagemeister <phihag@phihag.de> | 2013-07-17 11:16:53 +0200 |
commit | 466de6880121d55de082975f0274cfab71b6c2ab (patch) | |
tree | b6ba3e2ba69f984152e8e6b3c02811005ef85531 /youtube_dl/extractor/thisav.py | |
parent | 88d4111cfa2f88a323de5ae0a8e75942530fa67d (diff) |
[thisav] Add IE (Fixes #1056)
Diffstat (limited to 'youtube_dl/extractor/thisav.py')
-rw-r--r-- | youtube_dl/extractor/thisav.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/youtube_dl/extractor/thisav.py b/youtube_dl/extractor/thisav.py new file mode 100644 index 000000000..35b7379b6 --- /dev/null +++ b/youtube_dl/extractor/thisav.py @@ -0,0 +1,46 @@ +#coding: utf-8 + +import re + +from .common import InfoExtractor +from ..utils import ( + determine_ext, +) + +class ThisAVIE(InfoExtractor): + _VALID_URL = r'https?://(?:www\.)?thisav\.com/video/(?P<id>[0-9]+)/.*' + _TEST = { + u"url": u"http://www.thisav.com/video/47734/%98%26sup1%3B%83%9E%83%82---just-fit.html", + u"file": u"47734.flv", + u"info_dict": { + u"title": u"高樹マリア - Just fit", + u"uploader": u"dj7970", + u"uploader_id": u"dj7970" + } + } + + def _real_extract(self, url): + mobj = re.match(self._VALID_URL, url) + + video_id = mobj.group('id') + webpage = self._download_webpage(url, video_id) + title = self._html_search_regex(r'<h1>([^<]*)</h1>', webpage, u'title') + video_url = self._html_search_regex( + r"addVariable\('file','([^']+)'\);", webpage, u'video url') + uploader = self._html_search_regex( + r': <a href="http://www.thisav.com/user/[0-9]+/(?:[^"]+)">([^<]+)</a>', + webpage, u'uploader name', fatal=False) + uploader_id = self._html_search_regex( + r': <a href="http://www.thisav.com/user/[0-9]+/([^"]+)">(?:[^<]+)</a>', + webpage, u'uploader id', fatal=False) + ext = determine_ext(video_url) + + return { + '_type': 'video', + 'id': video_id, + 'url': video_url, + 'uploader': uploader, + 'uploader_id': uploader_id, + 'title': title, + 'ext': ext, + } |