[youtube] Setup CONSENT cookie when needed (closes #28604)
This commit is contained in:
parent
b97fb2edac
commit
14f29f087e
1 changed files with 16 additions and 0 deletions
|
@ -249,7 +249,23 @@ class YoutubeBaseInfoExtractor(InfoExtractor):
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def _initialize_consent(self):
|
||||||
|
cookies = self._get_cookies('https://www.youtube.com/')
|
||||||
|
if cookies.get('__Secure-3PSID'):
|
||||||
|
return
|
||||||
|
consent_id = None
|
||||||
|
consent = cookies.get('CONSENT')
|
||||||
|
if consent:
|
||||||
|
if 'YES' in consent.value:
|
||||||
|
return
|
||||||
|
consent_id = self._search_regex(
|
||||||
|
r'PENDING\+(\d+)', consent.value, 'consent', default=None)
|
||||||
|
if not consent_id:
|
||||||
|
consent_id = random.randint(100, 999)
|
||||||
|
self._set_cookie('.youtube.com', 'CONSENT', 'YES+cb.20210328-17-p0.en+FX+%s' % consent_id)
|
||||||
|
|
||||||
def _real_initialize(self):
|
def _real_initialize(self):
|
||||||
|
self._initialize_consent()
|
||||||
if self._downloader is None:
|
if self._downloader is None:
|
||||||
return
|
return
|
||||||
if not self._login():
|
if not self._login():
|
||||||
|
|
Loading…
Reference in a new issue