1
0
mirror of https://github.com/ytdl-org/youtube-dl.git synced 2024-12-23 00:16:48 +00:00

[GamerDVR] Add new extractor

This commit is contained in:
Joshua Lochner 2020-11-22 17:02:33 +02:00
parent 15f2734791
commit 0f0b260349
2 changed files with 40 additions and 0 deletions

View File

@ -398,6 +398,7 @@ from .fusion import FusionIE
from .fxnetworks import FXNetworksIE from .fxnetworks import FXNetworksIE
from .gaia import GaiaIE from .gaia import GaiaIE
from .gameinformer import GameInformerIE from .gameinformer import GameInformerIE
from .gamerdvr import GamerDVRIE
from .gamespot import GameSpotIE from .gamespot import GameSpotIE
from .gamestar import GameStarIE from .gamestar import GameStarIE
from .gaskrank import GaskrankIE from .gaskrank import GaskrankIE

View File

@ -0,0 +1,39 @@
# coding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
class GamerDVRIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?gamerdvr\.com/gamer/\S+/video/(?P<id>\d+)'
_TEST = {
'url': 'https://gamerdvr.com/gamer/videogamer3/video/83193307',
'md5': 'f747c74fbc7617a70d8c071927623cde',
'info_dict': {
'id': '83193307',
'ext': 'mp4',
'title': "videogamer3's Xbox Call of Duty®: Modern Warfare® clip 83193307. Find your Xbox clips on GamerDVR.com",
'description': "videogamer3's Xbox Call of Duty®: Modern Warfare® clips and gameplay playing Call of Duty®: Modern Warfare®. All your Xbox clips and screenshots on GamerDVR.com. View, manage, and share easily!",
'uploader': 'videogamer3'
}
}
def _real_extract(self, url):
video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
video_url = self._html_search_regex(
r"<source src=\"(\S+)\"", webpage, 'URL')
title = self._html_search_regex(
r'<title>(.+?)</title>', webpage, 'title', fatal=False)
description = self._html_search_regex(
r"<meta name=\"description\" content=([\"'])((?:\\\1|.)*?)\1",
webpage, 'description', group=2, fatal=False)
uploader = self._html_search_regex(
r"window\.gamertag = '(.+)';", webpage, 'uploader', fatal=False)
return {
'id': video_id,
'title': title,
'description': description,
'uploader': uploader,
'url': video_url
}