youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

commit 466de6880121d55de082975f0274cfab71b6c2ab
parent 88d4111cfa2f88a323de5ae0a8e75942530fa67d
Author: Philipp Hagemeister <phihag@phihag.de>
Date:   Wed, 17 Jul 2013 11:16:53 +0200

[thisav] Add IE (Fixes #1056)

Diffstat:
Myoutube_dl/extractor/__init__.py | 1+
Ayoutube_dl/extractor/thisav.py | 46++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 47 insertions(+), 0 deletions(-)

diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py @@ -58,6 +58,7 @@ from .steam import SteamIE from .teamcoco import TeamcocoIE from .ted import TEDIE from .tf1 import TF1IE +from .thisav import ThisAVIE from .traileraddict import TrailerAddictIE from .tudou import TudouIE from .tumblr import TumblrIE diff --git a/youtube_dl/extractor/thisav.py 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, + }