Heim >Backend-Entwicklung >Python-Tutorial >Wie behebt man \'CERTIFICATE_VERIFY_FAILED\'-Fehler beim Scraping von Websites mit SSL?

Wie behebt man \'CERTIFICATE_VERIFY_FAILED\'-Fehler beim Scraping von Websites mit SSL?

Barbara Streisand
Barbara StreisandOriginal
2024-10-28 15:07:30501Durchsuche

How to Fix

Zertifikatüberprüfung fehlgeschlagen: Fehlerbehebung bei SSL-Fehlern beim Scraping

Beim Scraping von Websites, die SSL-Protokolle (Secure Socket Layer) verwenden, können Entwickler auf das Problem stoßen Fehler „CERTIFICATE_VERIFY_FAILED“. Dieser Fehler weist darauf hin, dass die Überprüfung des SSL-Zertifikats der Website fehlgeschlagen ist.

Ein häufiges Beispiel für diesen Fehler tritt auf, wenn versucht wird, Wikipedia mit dem folgenden Python-Code zu crawlen:

<code class="python">import urllib.request
import bs4
import re

pages = set()
def getLinks(pageUrl):
    global pages
    html = urllib.request.urlopen("http://en.wikipedia.org"+pageUrl)
    bsObj = bs4.BeautifulSoup(html)
    for link in bsObj.findAll("a", href=re.compile("^(/wiki/)")):
        if 'href' in link.attrs:
            if link.attrs['href'] not in pages:
                #We have encountered a new page
                newPage = link.attrs['href']
                print(newPage)
                pages.add(newPage)
                getLinks(newPage)
getLinks("")</code>

Bei der Ausführung Wenn Sie den Code eingeben, tritt möglicherweise der folgende Fehler auf:

urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1049)>

Lösung für macOS-Benutzer

Wenn Sie macOS verwenden, ist die Lösung für diesen Fehler einfach. Navigieren Sie zu Macintosh HD > Bewerbungen > Python 3.6-Ordner (oder die von Ihnen verwendete Python-Version) und doppelklicken Sie auf die Datei „Install Certificates.command“. Dieser Befehl installiert die erforderlichen Zertifikate in Ihrem Systemschlüsselbund.

Nach der Ausführung dieses Befehls sollte der Fehler „CERTIFICATE_VERIFY_FAILED“ beim Scrapen von Wikipedia oder anderen SSL-gesicherten Websites nicht mehr angezeigt werden.

Das obige ist der detaillierte Inhalt vonWie behebt man 'CERTIFICATE_VERIFY_FAILED'-Fehler beim Scraping von Websites mit SSL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn