mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-30 12:01:28 +00:00
[extractor/foxnews] Fix extractors (#7222)
Closes #6050 Authored by: bashonly
This commit is contained in:
parent
5ee9a7d6e1
commit
97d60ad8cd
|
@ -5,6 +5,7 @@
|
|||
int_or_none,
|
||||
mimetype2ext,
|
||||
parse_iso8601,
|
||||
strip_jsonp,
|
||||
unified_timestamp,
|
||||
url_or_none,
|
||||
)
|
||||
|
@ -15,7 +16,7 @@ class AMPIE(InfoExtractor): # XXX: Conventionally, base classes should end with
|
|||
def _extract_feed_info(self, url):
|
||||
feed = self._download_json(
|
||||
url, None, 'Downloading Akamai AMP feed',
|
||||
'Unable to download Akamai AMP feed')
|
||||
'Unable to download Akamai AMP feed', transform_source=strip_jsonp)
|
||||
item = feed.get('channel', {}).get('item')
|
||||
if not item:
|
||||
raise ExtractorError('%s said: %s' % (self.IE_NAME, feed['error']))
|
||||
|
@ -73,8 +74,10 @@ def get_media_node(name, default=None):
|
|||
media_url + '?hdcore=3.4.0&plugin=aasp-3.4.0.132.124',
|
||||
video_id, f4m_id='hds', fatal=False))
|
||||
elif ext == 'm3u8':
|
||||
formats.extend(self._extract_m3u8_formats(
|
||||
media_url, video_id, 'mp4', m3u8_id='hls', fatal=False))
|
||||
fmts, subs = self._extract_m3u8_formats_and_subtitles(
|
||||
media_url, video_id, 'mp4', m3u8_id='hls', fatal=False)
|
||||
formats.extend(fmts)
|
||||
self._merge_subtitles(subs, target=subtitles)
|
||||
else:
|
||||
formats.append({
|
||||
'format_id': media_data.get('media-category', {}).get('@attributes', {}).get('label'),
|
||||
|
|
|
@ -7,8 +7,37 @@
|
|||
class FoxNewsIE(AMPIE):
|
||||
IE_NAME = 'foxnews'
|
||||
IE_DESC = 'Fox News and Fox Business Video'
|
||||
_VALID_URL = r'https?://(?P<host>video\.(?:insider\.)?fox(?:news|business)\.com)/v/(?:video-embed\.html\?video_id=)?(?P<id>\d+)'
|
||||
_VALID_URL = r'https?://video\.(?:insider\.)?fox(?:news|business)\.com/v/(?:video-embed\.html\?video_id=)?(?P<id>\d+)'
|
||||
_TESTS = [
|
||||
{
|
||||
'url': 'https://video.foxnews.com/v/6320653836112',
|
||||
'info_dict': {
|
||||
'id': '6320653836112',
|
||||
'ext': 'mp4',
|
||||
'title': 'Tucker Carlson joins \'Gutfeld!\' to discuss his new documentary',
|
||||
'thumbnail': r're:^https?://.*\.jpg$',
|
||||
'duration': 404,
|
||||
'upload_date': '20230217',
|
||||
'description': 'md5:858a8a36f59e9ca897d758855bcdfa02',
|
||||
'timestamp': 1676611344.0,
|
||||
},
|
||||
'params': {'skip_download': 'm3u8'},
|
||||
},
|
||||
{
|
||||
# From http://insider.foxnews.com/2016/08/25/univ-wisconsin-student-group-pushing-silence-certain-words
|
||||
'url': 'http://video.insider.foxnews.com/v/video-embed.html?video_id=5099377331001&autoplay=true&share_url=http://insider.foxnews.com/2016/08/25/univ-wisconsin-student-group-pushing-silence-certain-words&share_title=Student%20Group:%20Saying%20%27Politically%20Correct,%27%20%27Trash%27%20and%20%27Lame%27%20Is%20Offensive&share=true',
|
||||
'info_dict': {
|
||||
'id': '5099377331001',
|
||||
'ext': 'mp4',
|
||||
'title': '82416_censoring',
|
||||
'description': '82416_censoring',
|
||||
'upload_date': '20160826',
|
||||
'timestamp': 1472169708.0,
|
||||
'thumbnail': r're:^https?://.*\.jpg$',
|
||||
'duration': 521,
|
||||
},
|
||||
'params': {'skip_download': 'm3u8'},
|
||||
},
|
||||
{
|
||||
'url': 'http://video.foxnews.com/v/3937480/frozen-in-time/#sp=show-clips',
|
||||
'md5': '32aaded6ba3ef0d1c04e238d01031e5e',
|
||||
|
@ -22,6 +51,7 @@ class FoxNewsIE(AMPIE):
|
|||
'upload_date': '20110503',
|
||||
'thumbnail': r're:^https?://.*\.jpg$',
|
||||
},
|
||||
'skip': '404 page',
|
||||
},
|
||||
{
|
||||
'url': 'http://video.foxnews.com/v/3922535568001/rep-luis-gutierrez-on-if-obamas-immigration-plan-is-legal/#sp=show-clips',
|
||||
|
@ -36,10 +66,7 @@ class FoxNewsIE(AMPIE):
|
|||
'upload_date': '20141204',
|
||||
'thumbnail': r're:^https?://.*\.jpg$',
|
||||
},
|
||||
'params': {
|
||||
# m3u8 download
|
||||
'skip_download': True,
|
||||
},
|
||||
'skip': 'm3u8 HTTP error 400 in web browser',
|
||||
},
|
||||
{
|
||||
'url': 'http://video.foxnews.com/v/video-embed.html?video_id=3937480&d=video.foxnews.com',
|
||||
|
@ -49,11 +76,6 @@ class FoxNewsIE(AMPIE):
|
|||
'url': 'http://video.foxbusiness.com/v/4442309889001',
|
||||
'only_matching': True,
|
||||
},
|
||||
{
|
||||
# From http://insider.foxnews.com/2016/08/25/univ-wisconsin-student-group-pushing-silence-certain-words
|
||||
'url': 'http://video.insider.foxnews.com/v/video-embed.html?video_id=5099377331001&autoplay=true&share_url=http://insider.foxnews.com/2016/08/25/univ-wisconsin-student-group-pushing-silence-certain-words&share_title=Student%20Group:%20Saying%20%27Politically%20Correct,%27%20%27Trash%27%20and%20%27Lame%27%20Is%20Offensive&share=true',
|
||||
'only_matching': True,
|
||||
},
|
||||
]
|
||||
|
||||
@classmethod
|
||||
|
@ -67,10 +89,10 @@ def _extract_embed_urls(cls, url, webpage):
|
|||
yield f'https://video.foxnews.com/v/video-embed.html?video_id={mobj.group("video_id")}'
|
||||
|
||||
def _real_extract(self, url):
|
||||
host, video_id = self._match_valid_url(url).groups()
|
||||
video_id = self._match_id(url)
|
||||
|
||||
info = self._extract_feed_info(
|
||||
'http://%s/v/feed/video/%s.js?template=fox' % (host, video_id))
|
||||
f'https://api.foxnews.com/v3/video-player/{video_id}?callback=uid_{video_id}')
|
||||
info['id'] = video_id
|
||||
return info
|
||||
|
||||
|
@ -78,6 +100,19 @@ def _real_extract(self, url):
|
|||
class FoxNewsVideoIE(InfoExtractor):
|
||||
_VALID_URL = r'https?://(?:www\.)?foxnews\.com/video/(?P<id>\d+)'
|
||||
_TESTS = [{
|
||||
'url': 'https://www.foxnews.com/video/6328632286112',
|
||||
'info_dict': {
|
||||
'id': '6328632286112',
|
||||
'ext': 'mp4',
|
||||
'title': 'Review: 2023 Toyota Prius Prime',
|
||||
'duration': 155,
|
||||
'thumbnail': r're:^https://.+\.jpg$',
|
||||
'timestamp': 1685720177.0,
|
||||
'upload_date': '20230602',
|
||||
'description': 'md5:b69aafb125b41c1402e9744f53d6edc4',
|
||||
},
|
||||
'params': {'skip_download': 'm3u8'},
|
||||
}, {
|
||||
'url': 'https://www.foxnews.com/video/6313058664112',
|
||||
'info_dict': {
|
||||
'id': '6313058664112',
|
||||
|
@ -89,8 +124,7 @@ class FoxNewsVideoIE(InfoExtractor):
|
|||
'title': 'Gutfeld! - Thursday, September 29',
|
||||
'timestamp': 1664527538,
|
||||
},
|
||||
'expected_warnings': ['Ignoring subtitle tracks'],
|
||||
'params': {'skip_download': 'm3u8'},
|
||||
'skip': '404 page',
|
||||
}]
|
||||
|
||||
def _real_extract(self, url):
|
||||
|
@ -104,19 +138,22 @@ class FoxNewsArticleIE(InfoExtractor):
|
|||
|
||||
_TESTS = [{
|
||||
# data-video-id
|
||||
'url': 'http://www.foxnews.com/politics/2016/09/08/buzz-about-bud-clinton-camp-denies-claims-wore-earpiece-at-forum.html',
|
||||
'md5': '83d44e1aff1433e7a29a7b537d1700b5',
|
||||
'url': 'https://www.foxnews.com/politics/2016/09/08/buzz-about-bud-clinton-camp-denies-claims-wore-earpiece-at-forum.html',
|
||||
'md5': 'd2dd6ce809cedeefa96460e964821437',
|
||||
'info_dict': {
|
||||
'id': '5116295019001',
|
||||
'ext': 'mp4',
|
||||
'title': 'Trump and Clinton asked to defend positions on Iraq War',
|
||||
'description': 'Veterans react on \'The Kelly File\'',
|
||||
'description': 'Veterans and Fox News host Dana Perino react on \'The Kelly File\' to NBC\'s presidential forum',
|
||||
'timestamp': 1473301045,
|
||||
'upload_date': '20160908',
|
||||
'thumbnail': r're:^https?://.*\.jpg$',
|
||||
'duration': 426,
|
||||
},
|
||||
'params': {'skip_download': 'm3u8'},
|
||||
}, {
|
||||
# iframe embed
|
||||
'url': 'http://www.foxnews.com/us/2018/03/09/parkland-survivor-kyle-kashuv-on-meeting-trump-his-app-to-prevent-another-school-shooting.amp.html?__twitter_impression=true',
|
||||
'url': 'https://www.foxnews.com/us/2018/03/09/parkland-survivor-kyle-kashuv-on-meeting-trump-his-app-to-prevent-another-school-shooting.amp.html?__twitter_impression=true',
|
||||
'info_dict': {
|
||||
'id': '5748266721001',
|
||||
'ext': 'flv',
|
||||
|
@ -127,9 +164,7 @@ class FoxNewsArticleIE(InfoExtractor):
|
|||
'timestamp': 1520594670,
|
||||
'upload_date': '20180309',
|
||||
},
|
||||
'params': {
|
||||
'skip_download': True,
|
||||
},
|
||||
'skip': '404 page',
|
||||
}, {
|
||||
'url': 'http://insider.foxnews.com/2016/08/25/univ-wisconsin-student-group-pushing-silence-certain-words',
|
||||
'only_matching': True,
|
||||
|
|
Loading…
Reference in a new issue