title: Why my YouTube video downloader only downloads some videos and for other videos it shows keyerror like URL and cipher?
body: <p>I am trying to make a YouTube video downloader using Python pytube3 but it doesn't download all the videos. Some videos download very easily but some videos won't download and instead of download it shows error:</p>
  
  <pre><code>Exception in Tkinter callback
  Traceback (most recent call last):
    File "C:\Users\tarun\PycharmProjects\YTDownloader\venv\lib\site-packages\pytube\extract.py", line 297, in apply_descrambler
      for format_item in formats
    File "C:\Users\tarun\PycharmProjects\YTDownloader\venv\lib\site-packages\pytube\extract.py", line 297, in &lt;listcomp&gt;
      for format_item in formats
  KeyError: 'url'
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "C:\Users\tarun\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1705, in __call__
      return self.func(*args)
    File "C:/Users/tarun/PycharmProjects/YTDownloader/YTD.py", line 15, in video_download
      my_video = YouTube(input_user)
    File "C:\Users\tarun\PycharmProjects\YTDownloader\venv\lib\site-packages\pytube\__main__.py", line 92, in __init__
      self.descramble()
    File "C:\Users\tarun\PycharmProjects\YTDownloader\venv\lib\site-packages\pytube\__main__.py", line 132, in descramble
      apply_descrambler(self.player_config_args, fmt)
    File "C:\Users\tarun\PycharmProjects\YTDownloader\venv\lib\site-packages\pytube\extract.py", line 301, in apply_descrambler
      parse_qs(formats[i]["cipher"]) for i, data in enumerate(formats)
    File "C:\Users\tarun\PycharmProjects\YTDownloader\venv\lib\site-packages\pytube\extract.py", line 301, in &lt;listcomp&gt;
      parse_qs(formats[i]["cipher"]) for i, data in enumerate(formats)
  KeyError: 'cipher'
  </code></pre>