[glide] Improve extraction and extract upload info

pull/9250/head^2
Sergey M․ 2016-04-10 23:56:23 +06:00
parent 4a121d29bb
commit 5899e988d5
No known key found for this signature in database
GPG Key ID: 2C393E0F18A9236D
1 changed files with 20 additions and 8 deletions

View File

@ -2,6 +2,7 @@
from __future__ import unicode_literals from __future__ import unicode_literals
from .common import InfoExtractor from .common import InfoExtractor
from ..utils import unified_strdate
class GlideIE(InfoExtractor): class GlideIE(InfoExtractor):
@ -15,27 +16,38 @@ class GlideIE(InfoExtractor):
'ext': 'mp4', 'ext': 'mp4',
'title': 'Damon Timm\'s Glide message', 'title': 'Damon Timm\'s Glide message',
'thumbnail': 're:^https?://.*?\.cloudfront\.net/.*\.jpg$', 'thumbnail': 're:^https?://.*?\.cloudfront\.net/.*\.jpg$',
'uploader': 'Damon Timm',
'upload_date': '20140919',
} }
} }
def _real_extract(self, url): def _real_extract(self, url):
video_id = self._match_id(url) video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id) webpage = self._download_webpage(url, video_id)
title = self._html_search_regex( title = self._html_search_regex(
r'<title>(.*?)</title>', webpage, 'title') r'<title>(.+?)</title>', webpage, 'title')
video_url = self._proto_relative_url(self._search_regex( video_url = self._proto_relative_url(self._search_regex(
r'<source[^>]+src=(["\'])(?P<url>.+?)\1', r'<source[^>]+src=(["\'])(?P<url>.+?)\1',
webpage, 'video URL', group='url'), self.http_scheme()) webpage, 'video URL', default=None,
thumbnail_url = self._search_regex( group='url')) or self._og_search_video_url(webpage)
r'<img id="video-thumbnail" src="(.*?)"', thumbnail = self._proto_relative_url(self._search_regex(
webpage, 'thumbnail url', fatal=False) r'<img[^>]+id=["\']video-thumbnail["\'][^>]+src=(["\'])(?P<url>.+?)\1',
thumbnail = ( webpage, 'thumbnail url', default=None,
thumbnail_url if thumbnail_url is None group='url')) or self._og_search_thumbnail(webpage)
else self.http_scheme() + thumbnail_url) uploader = self._search_regex(
r'<div[^>]+class=["\']info-name["\'][^>]*>([^<]+)',
webpage, 'uploader', fatal=False)
upload_date = unified_strdate(self._search_regex(
r'<div[^>]+class="info-date"[^>]*>([^<]+)',
webpage, 'upload date', fatal=False))
return { return {
'id': video_id, 'id': video_id,
'title': title, 'title': title,
'url': video_url, 'url': video_url,
'thumbnail': thumbnail, 'thumbnail': thumbnail,
'uploader': uploader,
'upload_date': upload_date,
} }