get-pytube / pytube3

A lightweight, dependency-free Python 3 library (and command-line utility) for downloading YouTube Videos.
https://pytube3.readthedocs.io
Other
180 stars 55 forks source link

Cmd line example in docs produces "urllib.error.URLError: <urlopen error unknown url type: https>" #88

Closed Llaves closed 4 years ago

Llaves commented 4 years ago

I cut and paste the CLI example from the README.md and get the error in the subject line. Running on Win10. pytube3.exe version 9.6.4

Probably something silly, but I have no idea what. Thx

c:\ProgramData\Anaconda3\Scripts> pytube3 http://youtube.com/watch?v=9bZkp7q19f0 --list
Loading video...
Traceback (most recent call last):
  File "c:\ProgramData\Anaconda3\Scripts\pytube3-script.py", line 11, in <module>
    load_entry_point('pytube3==9.6.4', 'console_scripts', 'pytube3')()
  File "C:\ProgramData\Anaconda3\lib\site-packages\pytube3-9.6.4-py3.7.egg\pytube\cli.py", line 48, in main
  File "C:\ProgramData\Anaconda3\lib\site-packages\pytube3-9.6.4-py3.7.egg\pytube\__main__.py", line 91, in __init__
  File "C:\ProgramData\Anaconda3\lib\site-packages\pytube3-9.6.4-py3.7.egg\pytube\__main__.py", line 162, in prefetch
  File "C:\ProgramData\Anaconda3\lib\site-packages\pytube3-9.6.4-py3.7.egg\pytube\request.py", line 36, in get
  File "C:\ProgramData\Anaconda3\lib\site-packages\pytube3-9.6.4-py3.7.egg\pytube\request.py", line 24, in _execute_request
  File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 525, in open
    response = self._open(req, data)
  File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 548, in _open
    'unknown_open', req)
  File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 503, in _call_chain
    result = func(*args)
  File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 1389, in unknown_open
    raise URLError('unknown url type: %s' % type)
urllib.error.URLError: <urlopen error unknown url type: https>

Working the example from the python interpreter yields a different error:

 yt = YouTube('http://youtube.com/watch?v=9bZkp7q19f0')
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\pytube3-9.6.4-py3.7.egg\pytube\extract.py", line 297, in apply_descrambler
  File "C:\ProgramData\Anaconda3\lib\site-packages\pytube3-9.6.4-py3.7.egg\pytube\extract.py", line 297, in <listcomp>
KeyError: 'url'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\ProgramData\Anaconda3\lib\site-packages\pytube3-9.6.4-py3.7.egg\pytube\__main__.py", line 92, in __init__
  File "C:\ProgramData\Anaconda3\lib\site-packages\pytube3-9.6.4-py3.7.egg\pytube\__main__.py", line 132, in descramble
  File "C:\ProgramData\Anaconda3\lib\site-packages\pytube3-9.6.4-py3.7.egg\pytube\extract.py", line 301, in apply_descrambler
  File "C:\ProgramData\Anaconda3\lib\site-packages\pytube3-9.6.4-py3.7.egg\pytube\extract.py", line 301, in <listcomp>
KeyError: 'cipher'
Llaves commented 4 years ago

I found the problem, but I see this is already addressed in a pending pull request