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 | hypervideo-pre-f5863a3ea08492bd9fc04c55e1e912d24e92d49b.tar.lz hypervideo-pre-f5863a3ea08492bd9fc04c55e1e912d24e92d49b.tar.xz hypervideo-pre-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={ | 
