0
#Link I will use > https://www.youtube.com/watch?v=6DcinsRPR5s

# importing packages
from pytube import YouTube
import os

# url input from user
yt = YouTube(input("Enter the URL of the video you want to download: \n>> "))

# extract only audio
video = yt.streams.filter(only_audio=True).first()

# replace destination with the path where you want to save the downloaded file
destination = "/Users/obsessionoveraims/Documents/Temp Songs"

# download the file
out_file = video.download(output_path=destination)

# save the file
base, ext = os.path.splitext(out_file)
new_file = base + '.mp3'
os.rename(out_file, new_file)

# result
print(yt.title + " has been successfully downloaded.")

I get this error message.

Enter the URL of the video you want to download: 
>> https://www.youtube.com/watch?v=6DcinsRPR5s
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 1346, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1279, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1325, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1274, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1034, in _send_output
    self.send(msg)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 974, in send
    self.connect()
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1448, in connect
    self.sock = self._context.wrap_socket(self.sock,
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py", line 500, in wrap_socket
    return self.sslsocket_class._create(
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py", line 1040, in _create
    self.do_handshake()
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py", line 1309, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/obsessionoveraims/Desktop/Python Projects/MP3Downloader/main.py", line 10, in <module>
    video = yt.streams.filter(only_audio=True).first()
  File "/Users/obsessionoveraims/Desktop/Python Projects/MP3Downloader/venv/lib/python3.9/site-packages/pytube/__main__.py", line 295, in streams
    self.check_availability()
  File "/Users/obsessionoveraims/Desktop/Python Projects/MP3Downloader/venv/lib/python3.9/site-packages/pytube/__main__.py", line 210, in check_availability
    status, messages = extract.playability_status(self.watch_html)
  File "/Users/obsessionoveraims/Desktop/Python Projects/MP3Downloader/venv/lib/python3.9/site-packages/pytube/__main__.py", line 102, in watch_html
    self._watch_html = request.get(url=self.watch_url)
  File "/Users/obsessionoveraims/Desktop/Python Projects/MP3Downloader/venv/lib/python3.9/site-packages/pytube/request.py", line 53, in get
    response = _execute_request(url, headers=extra_headers, timeout=timeout)
  File "/Users/obsessionoveraims/Desktop/Python Projects/MP3Downloader/venv/lib/python3.9/site-packages/pytube/request.py", line 37, in _execute_request
    return urlopen(request, timeout=timeout)  # nosec
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 517, in open
    response = self._open(req, data)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 534, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 1389, in https_open
    return self.do_open(http.client.HTTPSConnection, req,
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 1349, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)>
Hampus Larsson
  • 3,050
  • 2
  • 14
  • 20
  • 2
    try youtube-dl, ```pip3 install youtube-dl```, then: ```youtube-dl ```. Doesn't have to be in python. – KaliMachine Oct 17 '22 at 18:45
  • @KaliMachine I've had more luck with https://github.com/yt-dlp/yt-dlp recently, activity on youtube-dl seems to have dropped off recently – Sam Mason Oct 17 '22 at 18:57
  • 1
    does this answer your question? https://stackoverflow.com/questions/27835619/urllib-and-ssl-certificate-verify-failed-error – Hoxha Alban Oct 17 '22 at 19:06
  • @HoxhaAlban, Yes that does thank you! – ObsessionOverAims Oct 17 '22 at 19:33
  • Does this answer your question? [urllib and "SSL: CERTIFICATE\_VERIFY\_FAILED" Error](https://stackoverflow.com/questions/27835619/urllib-and-ssl-certificate-verify-failed-error) – D Malan Oct 17 '22 at 22:01

0 Answers0