|
@ -4,6 +4,11 @@ from __future__ import unicode_literals |
|
|
import re |
|
|
import re |
|
|
|
|
|
|
|
|
from .common import InfoExtractor |
|
|
from .common import InfoExtractor |
|
|
|
|
|
from ..utils import ( |
|
|
|
|
|
int_or_none, |
|
|
|
|
|
remove_end, |
|
|
|
|
|
remove_start |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class PinkbikeIE(InfoExtractor): |
|
|
class PinkbikeIE(InfoExtractor): |
|
@ -43,10 +48,13 @@ class PinkbikeIE(InfoExtractor): |
|
|
webpage = self._download_webpage(url, video_id) |
|
|
webpage = self._download_webpage(url, video_id) |
|
|
|
|
|
|
|
|
title = self._html_search_regex(r'<title>(.*?)</title>', webpage, 'title') |
|
|
title = self._html_search_regex(r'<title>(.*?)</title>', webpage, 'title') |
|
|
title = title[:-len(' Video - Pinkbike')] |
|
|
|
|
|
|
|
|
title = remove_end(title, ' Video - Pinkbike') |
|
|
|
|
|
|
|
|
description = self._html_search_meta('description', webpage, 'description') |
|
|
description = self._html_search_meta('description', webpage, 'description') |
|
|
description = description[len(title + '. '):] |
|
|
|
|
|
|
|
|
description = remove_start(description, title + '. ') |
|
|
|
|
|
|
|
|
|
|
|
duration = int_or_none(self._html_search_meta( |
|
|
|
|
|
'video:duration', webpage, 'duration')) |
|
|
|
|
|
|
|
|
uploader_id = self._html_search_regex(r'un:\s*"(.*?)"', webpage, 'uploader_id') |
|
|
uploader_id = self._html_search_regex(r'un:\s*"(.*?)"', webpage, 'uploader_id') |
|
|
|
|
|
|
|
@ -63,13 +71,13 @@ class PinkbikeIE(InfoExtractor): |
|
|
r'<source data-quality=\\"([0-9]+)p\\" src=\\"(.*?)\\">', |
|
|
r'<source data-quality=\\"([0-9]+)p\\" src=\\"(.*?)\\">', |
|
|
webpage) |
|
|
webpage) |
|
|
|
|
|
|
|
|
formats = [{'url': fmt[1], 'height': fmt[0]} for fmt in formats] |
|
|
|
|
|
|
|
|
formats = [{'url': fmt[1], 'height': int_or_none(fmt[0])} for fmt in formats] |
|
|
|
|
|
|
|
|
return { |
|
|
return { |
|
|
'id': video_id, |
|
|
'id': video_id, |
|
|
'title': title, |
|
|
'title': title, |
|
|
'description': description, |
|
|
'description': description, |
|
|
'duration': int(self._html_search_meta('video:duration', webpage, 'duration')), |
|
|
|
|
|
|
|
|
'duration': duration, |
|
|
'thumbnail': self._html_search_meta('og:image', webpage, 'thumbnail'), |
|
|
'thumbnail': self._html_search_meta('og:image', webpage, 'thumbnail'), |
|
|
'uploader_id': uploader_id, |
|
|
'uploader_id': uploader_id, |
|
|
'upload_date': upload_date, |
|
|
'upload_date': upload_date, |
|
|