1. ホーム
  2. パイソン

[解決済み】スクレイピング。SSL: CERTIFICATE_VERIFY_FAILED エラーが http://en.wikipedia.org で発生する。

2022-04-09 18:29:26

質問

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)>

また、scrapyの練習をしていたのですが、「command not found: scrapy」という問題がずっと出ていました(ネットでいろんな解決策を試したのですが、どれもうまくいきませんでした・・・本当にもどかしいです)。

解決方法は?

昔々、この問題でつまずいたことがあります。macOSの場合、Macintosh HD > Applications > Python3.6フォルダ(またはあなたが使っているpythonのバージョン) > Install Certificates.command" ファイルをダブルクリックします :D