[thestar] Add new extractor(closes #5955)

This commit is contained in:
remitamine 2016-03-15 22:57:59 +01:00
parent 64d4f31d78
commit 2cab48704c
3 changed files with 33 additions and 1 deletions

View File

@ -737,6 +737,7 @@
ThePlatformFeedIE,
)
from .thesixtyone import TheSixtyOneIE
from .thestar import TheStarIE
from .thisamericanlife import ThisAmericanLifeIE
from .thisav import ThisAVIE
from .tinypic import TinyPicIE

View File

@ -157,7 +157,7 @@ def find_param(name):
if playerKey is not None:
params['playerKey'] = playerKey
# The three fields hold the id of the video
videoPlayer = find_param('@videoPlayer') or find_param('videoId') or find_param('videoID')
videoPlayer = find_param('@videoPlayer') or find_param('videoId') or find_param('videoID') or find_param('@videoList')
if videoPlayer is not None:
params['@videoPlayer'] = videoPlayer
linkBase = find_param('linkBaseURL')

View File

@ -0,0 +1,31 @@
# coding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
from .brightcove import BrightcoveLegacyIE
from ..compat import compat_parse_qs
class TheStarIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?thestar\.com/(?:[^/]+/)*(?P<id>.+)\.html'
_TEST = {
'url': 'http://www.thestar.com/life/2016/02/01/mankind-why-this-woman-started-a-men-s-skincare-line.html',
'md5': '2c62dd4db2027e35579fefb97a8b6554',
'info_dict': {
'id': '4732393888001',
'ext': 'mp4',
'title': 'Mankind: Why this woman started a men\'s skin care line',
'description': 'Robert Cribb talks to Young Lee, the founder of Uncle Peter\'s MAN.',
'uploader_id': '794267642001',
'timestamp': 1454353482,
'upload_date': '20160201',
}
}
BRIGHTCOVE_URL_TEMPLATE = 'http://players.brightcove.net/794267642001/default_default/index.html?videoId=%s'
def _real_extract(self, url):
display_id = self._match_id(url)
webpage = self._download_webpage(url, display_id)
brightcove_legacy_url = BrightcoveLegacyIE._extract_brightcove_url(webpage)
brightcove_id = compat_parse_qs(brightcove_legacy_url)['@videoPlayer'][0]
return self.url_result(self.BRIGHTCOVE_URL_TEMPLATE % brightcove_id, 'BrightcoveNew', brightcove_id)