[generic] add generic support for twitter:player embeds

totalwebcasting
Remita Amine 8 years ago
parent 4d86d2008e
commit 329179073b

@ -799,7 +799,6 @@ from .teletask import TeleTaskIE
from .telewebion import TelewebionIE
from .testurl import TestURLIE
from .tf1 import TF1IE
from .theatlantic import TheAtlanticIE
from .theintercept import TheInterceptIE
from .theplatform import (
ThePlatformIE,

@ -1245,6 +1245,22 @@ class GenericIE(InfoExtractor):
'uploader': 'www.hudl.com',
},
},
# twitter:player embed
{
'url': 'http://www.theatlantic.com/video/index/484130/what-do-black-holes-sound-like/',
'md5': 'a3e0df96369831de324f0778e126653c',
'info_dict': {
'id': '4909620399001',
'ext': 'mp4',
'title': 'What Do Black Holes Sound Like?',
'description': 'what do black holes sound like',
'upload_date': '20160524',
'uploader_id': '29913724001',
'timestamp': 1464107587,
'uploader': 'TheAtlantic',
},
'add_ie': ['BrightcoveLegacy'],
}
]
def report_following_redirect(self, new_url):
@ -2081,6 +2097,11 @@ class GenericIE(InfoExtractor):
'uploader': video_uploader,
}
# https://dev.twitter.com/cards/types/player#On_twitter.com_via_desktop_browser
embed_url = self._twitter_search_player(webpage)
if embed_url:
return self.url_result(embed_url)
def check_video(vurl):
if YoutubeIE.suitable(vurl):
return True

@ -1,40 +0,0 @@
# coding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
class TheAtlanticIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?theatlantic\.com/video/index/(?P<id>\d+)'
_TEST = {
'url': 'http://www.theatlantic.com/video/index/477918/capture-a-unified-theory-on-mental-health/',
'md5': '',
'info_dict': {
'id': '477918',
'ext': 'mp4',
'title': 'Are All Mental Illnesses Related?',
'description': 'Depression, anxiety, overeating, addiction, and all other mental disorders share a common mechanism.',
'timestamp': 1460490952,
'uploader': 'TheAtlantic',
'upload_date': '20160412',
'uploader_id': '29913724001',
},
'params': {
# m3u8 download
'skip_download': True,
},
'add_ie': ['BrightcoveLegacy'],
}
def _real_extract(self, url):
video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
return {
'_type': 'url_transparent',
'url': self._html_search_meta('twitter:player', webpage),
'id': video_id,
'title': self._og_search_title(webpage),
'description': self._og_search_description(webpage),
'thumbnail': self._og_search_thumbnail(webpage),
'ie_key': 'BrightcoveLegacy',
}
Loading…
Cancel
Save