mirror of
https://github.com/yt-dlp/yt-dlp
synced 2024-12-28 22:24:34 +01:00
[globo] prefer manual query insertion for jarvis over preset-sha value
This commit is contained in:
parent
8678ff44cc
commit
ede30395a6
1 changed files with 14 additions and 6 deletions
|
@ -2,7 +2,6 @@ import json
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from .common import InfoExtractor
|
from .common import InfoExtractor
|
||||||
from ..networking import HEADRequest
|
|
||||||
from ..utils import (
|
from ..utils import (
|
||||||
float_or_none,
|
float_or_none,
|
||||||
orderedSet,
|
orderedSet,
|
||||||
|
@ -48,13 +47,22 @@ class GloboIE(InfoExtractor):
|
||||||
def _real_extract(self, url):
|
def _real_extract(self, url):
|
||||||
video_id = self._match_id(url)
|
video_id = self._match_id(url)
|
||||||
|
|
||||||
self._request_webpage(
|
video_view = '''
|
||||||
HEADRequest('https://ab.g.globo/v2/selected-alternatives?experiments=player-isolated-experiment-02&skipImpressions=true'),
|
query getVideoView($videoId: ID!) {
|
||||||
video_id, 'Getting cookies')
|
video(id: $videoId) {
|
||||||
|
duration
|
||||||
|
description
|
||||||
|
headline
|
||||||
|
title {
|
||||||
|
originProgramId
|
||||||
|
headline
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'''
|
||||||
video = self._download_json(
|
video = self._download_json(
|
||||||
f'https://cloud-jarvis.globo.com/graphql?operationName=getVideoView&variables=%7B"videoId":"{video_id}"%7D&extensions=%7B"persistedQuery":%7B"version":1,"sha256Hash":"93309d471104ca6d6ed67f02ead5fe8db25b22bef7d6dedb3be98ea82e799d0a"%7D%7D', video_id,
|
f'https://cloud-jarvis.globo.com/graphql?operationName=getVideoView&variables=%7B"videoId":"{video_id}"%7D&query={video_view}', video_id,
|
||||||
headers={'content-type': 'application/json', 'x-platform-id': 'web', 'x-device-id': 'desktop', 'x-client-version': '2024.12-5'})['data']['video']
|
headers={'content-type': 'application/json', 'x-platform-id': 'web', 'x-device-id': 'desktop', 'x-client-version': '2024.12-5'})['data']['video']
|
||||||
|
|
||||||
title = video['headline']
|
title = video['headline']
|
||||||
uploader = video['title'].get('headline')
|
uploader = video['title'].get('headline')
|
||||||
uploader_id = str_or_none(video['title'].get('originProgramId'))
|
uploader_id = str_or_none(video['title'].get('originProgramId'))
|
||||||
|
|
Loading…
Reference in a new issue