[yandexmusic] Improve captcha detection
This commit is contained in:
parent
abbb2938fa
commit
197a5da1d0
1 changed files with 14 additions and 8 deletions
|
@ -20,10 +20,11 @@ class YandexMusicBaseIE(InfoExtractor):
|
||||||
error = response.get('error')
|
error = response.get('error')
|
||||||
if error:
|
if error:
|
||||||
raise ExtractorError(error, expected=True)
|
raise ExtractorError(error, expected=True)
|
||||||
|
if response.get('type') == 'captcha' or 'captcha' in response:
|
||||||
|
YandexMusicBaseIE._raise_captcha()
|
||||||
|
|
||||||
def _download_webpage(self, *args, **kwargs):
|
@staticmethod
|
||||||
webpage = super(YandexMusicBaseIE, self)._download_webpage(*args, **kwargs)
|
def _raise_captcha():
|
||||||
if 'Нам очень жаль, но запросы, поступившие с вашего IP-адреса, похожи на автоматические.' in webpage:
|
|
||||||
raise ExtractorError(
|
raise ExtractorError(
|
||||||
'YandexMusic has considered youtube-dl requests automated and '
|
'YandexMusic has considered youtube-dl requests automated and '
|
||||||
'asks you to solve a CAPTCHA. You can either wait for some '
|
'asks you to solve a CAPTCHA. You can either wait for some '
|
||||||
|
@ -32,6 +33,11 @@ class YandexMusicBaseIE(InfoExtractor):
|
||||||
'solve CAPTCHA, then export cookies and pass cookie file to '
|
'solve CAPTCHA, then export cookies and pass cookie file to '
|
||||||
'youtube-dl with --cookies',
|
'youtube-dl with --cookies',
|
||||||
expected=True)
|
expected=True)
|
||||||
|
|
||||||
|
def _download_webpage(self, *args, **kwargs):
|
||||||
|
webpage = super(YandexMusicBaseIE, self)._download_webpage(*args, **kwargs)
|
||||||
|
if 'Нам очень жаль, но запросы, поступившие с вашего IP-адреса, похожи на автоматические.' in webpage:
|
||||||
|
self._raise_captcha()
|
||||||
return webpage
|
return webpage
|
||||||
|
|
||||||
def _download_json(self, *args, **kwargs):
|
def _download_json(self, *args, **kwargs):
|
||||||
|
|
Loading…
Reference in a new issue