[krasview] Fix extraction

This commit is contained in:
Sergey M․ 2015-01-25 05:21:39 +06:00
parent 1070711d60
commit 1e10802990

View File

@ -2,18 +2,17 @@
from __future__ import unicode_literals from __future__ import unicode_literals
import json import json
import re
from .common import InfoExtractor from .common import InfoExtractor
from ..utils import ( from ..utils import (
int_or_none, int_or_none,
unescapeHTML, js_to_json,
) )
class KrasViewIE(InfoExtractor): class KrasViewIE(InfoExtractor):
IE_DESC = 'Красвью' IE_DESC = 'Красвью'
_VALID_URL = r'https?://krasview\.ru/video/(?P<id>\d+)' _VALID_URL = r'https?://krasview\.ru/(?:video|embed)/(?P<id>\d+)'
_TEST = { _TEST = {
'url': 'http://krasview.ru/video/512228', 'url': 'http://krasview.ru/video/512228',
@ -29,20 +28,18 @@ class KrasViewIE(InfoExtractor):
} }
def _real_extract(self, url): def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url) video_id = self._match_id(url)
video_id = mobj.group('id')
webpage = self._download_webpage(url, video_id) webpage = self._download_webpage(url, video_id)
flashvars = json.loads(self._search_regex( flashvars = json.loads(js_to_json(self._search_regex(
r'flashvars\s*:\s*({.+?})\s*}\);', webpage, 'flashvars')) r'video_Init\(({.+?})', webpage, 'flashvars')))
video_url = flashvars['url'] video_url = flashvars['url']
title = unescapeHTML(flashvars['title']) title = self._og_search_title(webpage)
description = unescapeHTML(flashvars.get('subtitle') or self._og_search_description(webpage, default=None)) description = self._og_search_description(webpage, default=None)
thumbnail = flashvars['image'] thumbnail = flashvars.get('image') or self._og_search_thumbnail(webpage)
duration = int(flashvars['duration']) duration = int_or_none(flashvars.get('duration'))
filesize = int(flashvars['size'])
width = int_or_none(self._og_search_property('video:width', webpage, 'video width')) width = int_or_none(self._og_search_property('video:width', webpage, 'video width'))
height = int_or_none(self._og_search_property('video:height', webpage, 'video height')) height = int_or_none(self._og_search_property('video:height', webpage, 'video height'))
@ -53,7 +50,6 @@ def _real_extract(self, url):
'description': description, 'description': description,
'thumbnail': thumbnail, 'thumbnail': thumbnail,
'duration': duration, 'duration': duration,
'filesize': filesize,
'width': width, 'width': width,
'height': height, 'height': height,
} }