Очистка: SSL: ошибка CERTIFICATE_VERIFY_FAILED для http://en.wikipedia.org - PullRequest
0 голосов
/ 08 мая 2018

Я практикую код из 'Web Scraping with Python', и у меня постоянно возникает проблема с сертификатом:

from urllib.request import urlopen 
from bs4 import BeautifulSoup 
import re

pages = set()
def getLinks(pageUrl):
    global pages
    html = urlopen("http://en.wikipedia.org"+pageUrl)
    bsObj = 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("")

Ошибка:

  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 1319, 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:1049)>

Кстати, я тоже занимался скрапом, но продолжал понимать, что проблема: команда не найдена: скрап (я пробовал все виды решений в Интернете, но ни один не работает ... очень расстраивает)

Ответы [ 6 ]

0 голосов
/ 27 июля 2019

У меня сработали два шага: - собирается Macintosh HD> Приложения> Папка Python3.7 - нажмите «Установить Certificates.command»

0 голосов
/ 15 ноября 2018

Чтобы решить это:

Все, что вам нужно сделать, это установить сертификаты Python! Распространенная проблема в macOS.

Открыть эти файлы:

Install Certificates.command
Update Shell Profile.command

Просто запустите эти два сценария, и у вас больше не будет этой проблемы.

Надеюсь, это поможет!

0 голосов
/ 15 ноября 2018

Однажды я наткнулся на эту проблему. Если вы используете macOS, перейдите в Macintosh HD> Приложения> Папка Python3.6 (или любую другую версию python, которую вы используете)> дважды щелкните файл «Install Certificates.command». : D

0 голосов
/ 10 августа 2018

Взгляните на этот пост. Похоже, что для более поздних версий Python сертификаты предварительно не установлены, что, по-видимому, и вызывает эту ошибку. Для установки пакета certifi вы должны выполнить следующую команду: /Applications/Python\ 3.6/Install\ Certificates.command

Сообщение 1: urllib и ошибка «SSL: CERTIFICATE_VERIFY_FAILED»

Сообщение 2: Ошибка воздушного тормоза: ошибка urlopen [SSL: CERTIFICATE_VERIFY_FAILED] не удалось проверить сертификат: невозможно получить сертификат локального эмитента

0 голосов
/ 09 мая 2018

я не решил проблему, к сожалению. но удалось заставить работать коды (почти все мои коды имеют эту проблему между прочим) проблема локального сертификата эмитента происходит под python3.7 так что я вернулся на python2.7 QAQ и все, что нужно было изменить, включая «из urllib2 импорта urlopen» вместо «из urllib.request import urlopen» так грустно ...

0 голосов
/ 09 мая 2018

Измените ваш URL с "http://en.wikipedia.org" на "https://en.wikipedia.org".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...