Skip to content
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

Can't download YouTube subscriptions videos on Android QPython with Python 3.2 #13179

Closed
vmassuchetto opened this issue May 21, 2017 · 3 comments
Closed
Labels

Comments

@vmassuchetto
Copy link

@vmassuchetto vmassuchetto commented May 21, 2017

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2017.05.18.1. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

  • I've verified and I assure that I'm running youtube-dl 2017.05.18.1

Before submitting an issue make sure you have:

  • At least skimmed through README and most notably FAQ and BUGS sections
  • Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

  • Bug report (encountered problems with youtube-dl)
  • Site support request (request for adding support for a new site)
  • Feature request (request for a new functionality)
  • Question
  • Other

I get this error running youtube-dl with the -v option:

$ youtube-dl -v --no-check-certificate --cache-dir "/sdcard/YouTube/cache" -u PRIVATE -p PRIVATE -f "best[width<=720]" -o "/sdcard/YouTube/%(upload_date)s %(uploader)s - %(title)s.%(ext)s" "https://www.youtube.com/feed/subscriptions"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '--no-check-certificate', '--cache-dir', '/sdcard/YouTube/cache', '-u', 'PRIVATE', '-p', 'PRIVATE', '-f', 'best[width<=720]', '-o', '/sdcard/YouTube/%(upload_date)s %(uploader)s - %(title)s.%(ext)s', 'https://www.youtube.com/feed/subscriptions']
[debug] Encodings: locale utf-8, fs utf-8, out utf-8, pref utf-8
[debug] youtube-dl version 2017.05.18.1
Traceback (most recent call last):
  File "/data/data/org.qpython.qpy3/files/bin/youtube-dl", line 9, in <module>
    load_entry_point('youtube-dl==2017.05.18.1', 'console_scripts', 'youtube-dl')()
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/__init__.py", line 465, in main
    _real_main(argv)
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/__init__.py", line 432, in _real_main
    with YoutubeDL(ydl_opts) as ydl:
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/YoutubeDL.py", line 391, in __init__
    self.print_debug_header()
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/YoutubeDL.py", line 2145, in print_debug_header
    platform.python_version(), platform_name()))
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/utils.py", line 1303, in platform_name
    res = platform.platform()
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/python32.zip/platform.py", line 1545, in platform
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/python32.zip/platform.py", line 184, in libc_ver
TypeError: unorderable types: NoneType() > str()

If I remove the -v option, I get two different errors (sometimes one, sometimes another):

Error 1 -- local variable 'check_cookie_url' referenced before assignment

$ youtube-dl -v --no-check-certificate --cache-dir "/sdcard/YouTube/cache" -u PRIVATE -p PRIVATE -f "best[width<=720]" -o "/sdcard/YouTube/%(upload_date)s %(uploader)s - %(title)s.%(ext)s" "https://www.youtube.com/feed/subscriptions"
[youtube:subscriptions] Downloading login page
[youtube:subscriptions] Looking up account info
[youtube:subscriptions] Logging in
Traceback (most recent call last):
  File "/data/data/org.qpython.qpy3/files/bin/youtube-dl", line 9, in <module>
    load_entry_point('youtube-dl==2017.05.18.1', 'console_scripts', 'youtube-dl')()
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/__init__.py", line 465, in main
    _real_main(argv)
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/__init__.py", line 455, in _real_main
    retcode = ydl.download(all_urls)
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/YoutubeDL.py", line 1896, in download
    url, force_generic_extractor=self.params.get('force_generic_extractor', False))
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/YoutubeDL.py", line 760, in extract_info
    ie_result = ie.extract(url)
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/extractor/common.py", line 432, in extract
    self.initialize()
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/extractor/common.py", line 390, in initialize
    self._real_initialize()
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/extractor/youtube.py", line 2563, in _real_initialize
    self._login()
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/extractor/youtube.py", line 232, in _login
    if not check_cookie_url:
UnboundLocalError: local variable 'check_cookie_url' referenced before assignment

Error 2 -- html.parser.HTMLParseError: EOF in middle of construct, at line 1, column 1

$ youtube-dl -v --no-check-certificate --cache-dir "/sdcard/YouTube/cache" -u PRIVATE -p PRIVATE -f "best[width<=720]" -o "/sdcard/YouTube/%(upload_date)s %(uploader)s - %(title)s.%(ext)s" "https://www.youtube.com/feed/subscriptions"
[youtube:subscriptions] Downloading login page
Traceback (most recent call last):
  File "/data/data/org.qpython.qpy3/files/bin/youtube-dl", line 9, in <module>
    load_entry_point('youtube-dl==2017.05.18.1', 'console_scripts', 'youtube-dl')()
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/__init__.py", line 465, in main
    _real_main(argv)
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/__init__.py", line 455, in _real_main
    retcode = ydl.download(all_urls)
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/YoutubeDL.py", line 1896, in download
    url, force_generic_extractor=self.params.get('force_generic_extractor', False))
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/YoutubeDL.py", line 760, in extract_info
    ie_result = ie.extract(url)
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/extractor/common.py", line 432, in extract
    self.initialize()
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/extractor/common.py", line 390, in initialize
    self._real_initialize()
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/extractor/youtube.py", line 2563, in _real_initialize
    self._login()
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/extractor/youtube.py", line 100, in _login
    login_form = self._hidden_inputs(login_page)
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/extractor/common.py", line 1037, in _hidden_inputs
    attrs = extract_attributes(input)
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/site-packages/youtube_dl/utils.py", line 413, in extract_attributes
    parser.close()
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/python32.zip/html/parser.py", line 137, in close
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/python32.zip/html/parser.py", line 191, in goahead
  File "/data/data/org.qpython.qpy3/files/lib/python3.2/python32.zip/html/parser.py", line 140, in error
html.parser.HTMLParseError: EOF in middle of construct, at line 1, column 1

Description of your issue, suggested solution and other information

All errors occur on pip console, after installing youtube-dl with pip install youtube-dl. I tested on both QPython with Python 2.7 and Python 3.2. More often the error HTMLParseError occurs.

@dstftw
Copy link
Collaborator

@dstftw dstftw commented May 21, 2017

  1. platform.platform() is broken on your python implementation report it to its developers.
  2. Post the output with --dump-pages.
@vmassuchetto
Copy link
Author

@vmassuchetto vmassuchetto commented May 22, 2017

  1. Looks like it has already been reported -- not much attention, though;
  2. Link to --dump-pages output: https://www.pastiebin.com/59230cba33cc0
@yan12125
Copy link
Collaborator

@yan12125 yan12125 commented Sep 28, 2017

Please follow #13822 for the second issue. For the first issue, I suggest moving away from QPython, which is quite old and not working well with Android. Python 3.6+ is recommended.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.