|
|
|
@ -4,6 +4,11 @@ from __future__ import unicode_literals
|
|
|
|
|
import re
|
|
|
|
|
|
|
|
|
|
from .common import InfoExtractor
|
|
|
|
|
from ..utils import (
|
|
|
|
|
int_or_none,
|
|
|
|
|
remove_end,
|
|
|
|
|
remove_start
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class PinkbikeIE(InfoExtractor):
|
|
|
|
@ -43,10 +48,13 @@ class PinkbikeIE(InfoExtractor):
|
|
|
|
|
webpage = self._download_webpage(url, video_id)
|
|
|
|
|
|
|
|
|
|
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 = 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')
|
|
|
|
|
|
|
|
|
@ -63,13 +71,13 @@ class PinkbikeIE(InfoExtractor):
|
|
|
|
|
r'<source data-quality=\\"([0-9]+)p\\" src=\\"(.*?)\\">',
|
|
|
|
|
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 {
|
|
|
|
|
'id': video_id,
|
|
|
|
|
'title': title,
|
|
|
|
|
'description': description,
|
|
|
|
|
'duration': int(self._html_search_meta('video:duration', webpage, 'duration')),
|
|
|
|
|
'duration': duration,
|
|
|
|
|
'thumbnail': self._html_search_meta('og:image', webpage, 'thumbnail'),
|
|
|
|
|
'uploader_id': uploader_id,
|
|
|
|
|
'upload_date': upload_date,
|
|
|
|
|