diff options
author | Remita Amine <remitamine@gmail.com> | 2020-08-27 19:20:41 +0100 |
---|---|---|
committer | Remita Amine <remitamine@gmail.com> | 2020-08-27 19:20:41 +0100 |
commit | f5863a3ea08492bd9fc04c55e1e912d24e92d49b (patch) | |
tree | 47ef939e081965a0d51dfadc364fcc1d5647f2f5 | |
parent | 10709fc7c640fcd2f4866090d68f130fc8d9ad0c (diff) | |
download | youtube-dl-f5863a3ea08492bd9fc04c55e1e912d24e92d49b.tar.gz youtube-dl-f5863a3ea08492bd9fc04c55e1e912d24e92d49b.tar.bz2 youtube-dl-f5863a3ea08492bd9fc04c55e1e912d24e92d49b.zip |
[biqle] improve video_ext extraction
-rw-r--r-- | youtube_dl/extractor/biqle.py | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/youtube_dl/extractor/biqle.py b/youtube_dl/extractor/biqle.py index af21e3ee5..17ebbb257 100644 --- a/youtube_dl/extractor/biqle.py +++ b/youtube_dl/extractor/biqle.py @@ -3,10 +3,11 @@ from __future__ import unicode_literals from .common import InfoExtractor from .vk import VKIE -from ..utils import ( - HEADRequest, - int_or_none, +from ..compat import ( + compat_b64decode, + compat_urllib_parse_unquote, ) +from ..utils import int_or_none class BIQLEIE(InfoExtractor): @@ -47,9 +48,16 @@ class BIQLEIE(InfoExtractor): if VKIE.suitable(embed_url): return self.url_result(embed_url, VKIE.ie_key(), video_id) - self._request_webpage( - HEADRequest(embed_url), video_id, headers={'Referer': url}) - video_id, sig, _, access_token = self._get_cookies(embed_url)['video_ext'].value.split('%3A') + embed_page = self._download_webpage( + embed_url, video_id, headers={'Referer': url}) + video_ext = self._get_cookies(embed_url).get('video_ext') + if video_ext: + video_ext = compat_urllib_parse_unquote(video_ext.value) + if not video_ext: + video_ext = compat_b64decode(self._search_regex( + r'video_ext\s*:\s*[\'"]([A-Za-z0-9+/=]+)', + embed_page, 'video_ext')).decode() + video_id, sig, _, access_token = video_ext.split(':') item = self._download_json( 'https://api.vk.com/method/video.get', video_id, headers={'User-Agent': 'okhttp/3.4.1'}, query={ |