I am very new to python and trying to download youtube video.
I have imported pytube successfully.
What could be the issue.
my program is:
import argparse
from pytube import YouTube
VIDEO_SAVE_DIRECTORY = "c:\rg\tube"
def download(video_url):
video = YouTube(video_url)
video = video.streams.get_highest_resolution()
try:
video.download(VIDEO_SAVE_DIRECTORY)
except:
print("Failed to download video")
print("video was downloaded successfully")
if name == “main”:
ap = argparse.ArgumentParser()
ap.add_argument(“-v”, “–video”, required = True, help = “URL to youtube video”)
args = vars(ap.parse_args())
download(args["video"])
My error is:
C:\rg\tube>python main.py -v https://www.youtube.com/watch?v=l0oryYSMmPM
Traceback (most recent call last):
File “C:\rg\tube\main.py”, line 23, in
download(args[“video”])
File “C:\rg\tube\main.py”, line 8, in download
video = video.streams.get_highest_resolution()
^^^^^^^^^^^^^
File “C:\Users\Rahul Garg\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\pytube_main_.py”, line 296, in streams
return StreamQuery(self.fmt_streams)
^^^^^^^^^^^^^^^^
File “C:\Users\Rahul Garg\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\pytube_main_.py”, line 176, in fmt_streams
stream_manifest = extract.apply_descrambler(self.streaming_data)
^^^^^^^^^^^^^^^^^^^
File “C:\Users\Rahul Garg\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\pytube_main_.py”, line 160, in streaming_data
self.bypass_age_gate()
File “C:\Users\Rahul Garg\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\pytube_main_.py”, line 257, in bypass_age_gate
innertube_response = innertube.player(self.video_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\Rahul Garg\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\pytube\innertube.py”, line 448, in player
return self._call_api(endpoint, query, self.base_data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\Rahul Garg\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\pytube\innertube.py”, line 390, in _call_api
response = request._execute_request(
^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\Rahul Garg\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\pytube\request.py”, line 37, in _execute_request
return urlopen(request, timeout=timeout) # nosec
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\urllib\request.py”, line 215, in urlopen
return opener.open(url, data, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\urllib\request.py”, line 521, in open
response = meth(req, response)
^^^^^^^^^^^^^^^^^^^
File “C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\urllib\request.py”, line 630, in http_response
response = self.parent.error(
^^^^^^^^^^^^^^^^^^
File “C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\urllib\request.py”, line 559, in error
return self._call_chain(*args)
^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\urllib\request.py”, line 492, in _call_chain
result = func(*args)
^^^^^^^^^^^
File “C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\urllib\request.py”, line 639, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: Bad Request