|
|
@ -1,6 +1,8 @@ |
|
|
|
# coding: utf-8 |
|
|
|
from __future__ import unicode_literals |
|
|
|
|
|
|
|
import re |
|
|
|
|
|
|
|
from .common import InfoExtractor |
|
|
|
from ..utils import ( |
|
|
|
parse_iso8601, |
|
|
@ -12,7 +14,7 @@ from ..utils import ( |
|
|
|
|
|
|
|
class TwentyFourVideoIE(InfoExtractor): |
|
|
|
IE_NAME = '24video' |
|
|
|
_VALID_URL = r'https?://(?:www\.)?24video\.(?:net|me|xxx|sex|tube)/(?:video/(?:view|xml)/|player/new24_play\.swf\?id=)(?P<id>\d+)' |
|
|
|
_VALID_URL = r'https?://(?P<host>(?:www\.)?24video\.(?:net|me|xxx|sex|tube))/(?:video/(?:view|xml)/|player/new24_play\.swf\?id=)(?P<id>\d+)' |
|
|
|
|
|
|
|
_TESTS = [{ |
|
|
|
'url': 'http://www.24video.net/video/view/1044982', |
|
|
@ -43,10 +45,12 @@ class TwentyFourVideoIE(InfoExtractor): |
|
|
|
}] |
|
|
|
|
|
|
|
def _real_extract(self, url): |
|
|
|
video_id = self._match_id(url) |
|
|
|
mobj = re.match(self._VALID_URL, url) |
|
|
|
video_id = mobj.group('id') |
|
|
|
host = mobj.group('host') |
|
|
|
|
|
|
|
webpage = self._download_webpage( |
|
|
|
'http://www.24video.sex/video/view/%s' % video_id, video_id) |
|
|
|
'http://%s/video/view/%s' % (host, video_id), video_id) |
|
|
|
|
|
|
|
title = self._og_search_title(webpage) |
|
|
|
description = self._html_search_regex( |
|
|
@ -72,11 +76,11 @@ class TwentyFourVideoIE(InfoExtractor): |
|
|
|
|
|
|
|
# Sets some cookies |
|
|
|
self._download_xml( |
|
|
|
r'http://www.24video.sex/video/xml/%s?mode=init' % video_id, |
|
|
|
r'http://%s/video/xml/%s?mode=init' % (host, video_id), |
|
|
|
video_id, 'Downloading init XML') |
|
|
|
|
|
|
|
video_xml = self._download_xml( |
|
|
|
'http://www.24video.sex/video/xml/%s?mode=play' % video_id, |
|
|
|
'http://%s/video/xml/%s?mode=play' % (host, video_id), |
|
|
|
video_id, 'Downloading video XML') |
|
|
|
|
|
|
|
video = xpath_element(video_xml, './/video', 'video', fatal=True) |
|
|
|