SSL を使用して Web サイトをスクレイピングするときに「CERTIFICATE_VERIFY_FAILED」エラーを修正する方法?

Barbara Streisand
リリース: 2024-10-28 15:07:30
オリジナル
402 人が閲覧しました

How to Fix

証明書の検証に失敗しました: スクレイピング時の SSL エラーのトラブルシューティング

Secure Socket Layer (SSL) プロトコルを使用する Web サイトをスクレイピングする場合、開発者は次のような問題に遭遇する可能性があります。 「CERTIFICATE_VERIFY_FAILED」エラー。このエラーは、Web サイトの SSL 証明書の検証が失敗したことを示します。

このエラーの一般的な例の 1 つは、次の Python コードを使用して Wikipedia をスクレイピングしようとしたときに発生します。

<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>
ログイン後にコピー

これを実行するときコードを実行すると、次のエラーが発生する場合があります。

urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1049)>
ログイン後にコピー

macOS ユーザー向けの解決策

macOS を使用している場合、このエラーの解決策は簡単です。 [Macintosh HD] > [Macintosh HD] に移動します。アプリケーション> Python 3.6 フォルダー (または使用している Python のバージョン) に移動し、「Install Certificates.command」ファイルをダブルクリックします。このコマンドは、必要な証明書をシステム キーチェーンにインストールします。

このコマンドを実行すると、Wikipedia またはその他の SSL で保護された Web サイトをスクレイピングするときに「CERTIFICATE_VERIFY_FAILED」エラーが表示されなくなります。

以上がSSL を使用して Web サイトをスクレイピングするときに「CERTIFICATE_VERIFY_FAILED」エラーを修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!