[youtube] Add mobile_web client (#557)

Authored by: colethedj
This commit is contained in:
coletdjnz 2021-07-26 10:18:36 +12:00 committed by GitHub
parent b4c055bac2
commit 5a1fc62b41
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 2 deletions

View file

@ -1354,7 +1354,7 @@ Some extractors accept additional arguments which can be passed using `--extract
The following extractors use this feature: The following extractors use this feature:
* **youtube** * **youtube**
* `skip`: `hls` or `dash` (or both) to skip download of the respective manifests * `skip`: `hls` or `dash` (or both) to skip download of the respective manifests
* `player_client`: Clients to extract video data from - one or more of `web`, `android`, `ios`, `web_music`, `android_music`, `ios_music` or `all`. By default, `android,web` is used. If the URL is from `music.youtube.com`, `android,web,android_music,web_music` is used * `player_client`: Clients to extract video data from - one or more of `web`, `android`, `ios`, `mobile_web`, `web_music`, `android_music`, `ios_music` or `all`. By default, `android,web` is used. If the URL is from `music.youtube.com`, `android,web,android_music,web_music` is used
* `player_skip`: `configs` - skip any requests for client configs and use defaults * `player_skip`: `configs` - skip any requests for client configs and use defaults
* `comment_sort`: `top` or `new` (default) - choose comment sorting mode (on YouTube's side). * `comment_sort`: `top` or `new` (default) - choose comment sorting mode (on YouTube's side).
* `max_comments`: maximum amount of comments to download (default all). * `max_comments`: maximum amount of comments to download (default all).

View file

@ -439,7 +439,21 @@ class YoutubeBaseInfoExtractor(InfoExtractor):
} }
}, },
'INNERTUBE_CONTEXT_CLIENT_NAME': 66 'INNERTUBE_CONTEXT_CLIENT_NAME': 66
} },
'MWEB': {
'INNERTUBE_API_VERSION': 'v1',
'INNERTUBE_CLIENT_NAME': 'MWEB',
'INNERTUBE_CLIENT_VERSION': '2.20210721.07.00',
'INNERTUBE_API_KEY': 'AIzaSyDCU8hByM-4DrUqRUYnGn-3llEO78bcxq8',
'INNERTUBE_CONTEXT': {
'client': {
'clientName': 'MWEB',
'clientVersion': '2.20210721.07.00',
'hl': 'en',
}
},
'INNERTUBE_CONTEXT_CLIENT_NAME': 2
},
} }
_YT_DEFAULT_INNERTUBE_HOSTS = { _YT_DEFAULT_INNERTUBE_HOSTS = {
@ -463,6 +477,7 @@ class YoutubeBaseInfoExtractor(InfoExtractor):
'web_music': 'WEB_REMIX', 'web_music': 'WEB_REMIX',
'_web_embedded': 'WEB_EMBEDDED_PLAYER', '_web_embedded': 'WEB_EMBEDDED_PLAYER',
'_web_agegate': 'TVHTML5', '_web_agegate': 'TVHTML5',
'mobile_web': 'MWEB',
} }
def _get_default_ytcfg(self, client='WEB'): def _get_default_ytcfg(self, client='WEB'):