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!