-
-
Notifications
You must be signed in to change notification settings - Fork 7.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[yandexmusic:playlist] argument of type 'bool' is not iterable
after calling _download_webpage_handle
#4432
Comments
However, problem that causing this issue is "HTTP Error 431: Request Header Fields Too Large", and i don't know how to workaround it :( |
It is likely an issue either with cookies or with how yt-dlp is processing them. First try by re-exporting the cookies. If that doesn't help, I can take a look if you are willing to share login details with me |
nvm, issue seems related to ytdl-org/youtube-dl#27355 |
Yes, but as I can see, it's fixed there and also this commit merged here as long as there's message about chunks while reading playlist |
I've tried reexporting cookies and it didn't help. I can share login details, if it helps, where I can do it? |
Contact: discord (pukkandan#4207) / reddit (/u/pukkandan) / email ([email protected]) |
Let's try discord, I'm voidex#9676 |
argument of type 'bool' is not iterable
after calling _download_webpage_handle
argument of type 'bool' is not iterable
after calling _download_webpage_handle
argument of type 'bool' is not iterable
after calling _download_webpage_handle
argument of type 'bool' is not iterable
after calling _download_webpage_handle
The issue is twofold:
def _download_webpage_handle(self, *args, **kwargs):
webpage = super()._download_webpage_handle(*args, **kwargs)
+ if not webpage:
+ return None
+ if 'Нам очень жаль, но запросы, поступившие с вашего IP-адреса, похожи на автоматические.' in webpage[0]:
- if 'Нам очень жаль, но запросы, поступившие с вашего IP-адреса, похожи на автоматические.' in webpage:
self._raise_captcha()
return webpage Edited: now even more similar to #4432 (comment) |
This would still be wrong, since the expected result from a successful It seems like the mistake is the decision to redefine |
The result is only a tuple if the webpage was fetched. When If it was only intended to affect webpage downloads rather than JSON as well, |
That's what I was going for with "successful call." Your patch only returns the 1st character of the webpage (
True, making this def _download_webpage_handle(self, *args, **kwargs):
res = super()._download_webpage_handle(*args, **kwargs)
if res is False:
return False
if 'Нам очень жаль, но запросы, поступившие с вашего IP-адреса, похожи на автоматические.' in res[0]:
self._raise_captcha()
return res |
|
No, it's not. Your patch only returns the 1st character of a webpage upon a successful request |
Oh sure, edited. Current yt-dlp would do that because the network rework now indexes the content after the "petty" test, while formerly and upstream the content is destructured, which would have been an error except with a 2-character webpage. |
* correct logic in _download_webpage() hook (yt-dlp/yt-dlp#4432) * improve error message.
* correct logic in _download_webpage() hook (yt-dlp/yt-dlp#4432) * improve error message.
Checklist
Provide a description that is worded well enough to be understood
While downloading large Yandex Music playlist I get error
argument of type 'bool' is not iterable
The reason is that:
InfoExtractor._download_webpage_handle
can returnFalse
_download_webpage_handle
, which calls base versionProvide verbose output that clearly demonstrates the problem
yt-dlp -vU <your command line>
)[debug] Command-line config
) and insert it belowComplete Verbose Output
The text was updated successfully, but these errors were encountered: