logo
Loading...

出現<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:719)>錯誤 - Cupoy

Day3 Sample無法成功下載example.zip我有直接複製網址丟到瀏覽器是可以直接拿到壓縮...

day3

出現<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:719)>錯誤

2019/11/27 下午 09:26
Python網路爬蟲討論版
MaRon
觀看數:29
回答數:4
收藏數:0
day3


Day3 Sample無法成功下載example.zip

我有直接複製網址丟到瀏覽器是可以直接拿到壓縮檔的

但是用爬蟲的方式就無法


目前遇到的問題是

<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:719)>

好像是憑證問題,不知道該如何解決

回答列表

  • 2019/11/27 下午 10:10
    Jeffrey
    贊同數:0
    不贊同數:0
    留言數:1

    有點混淆, 所以, 同學的意思是說已經取得範例, 但是, 還想用"爬蟲"去取檔卻碰到憑證的問題?

  • 2019/11/27 下午 11:37
    張維元 (WeiYuan)
    贊同數:0
    不贊同數:0
    留言數:1

    嗨,你可以執行這一段程式試試看嗎:


    ```

    import os

    import os.path

    import ssl

    import stat

    import subprocess

    import sys


    STAT_0o775 = ( stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR

                 | stat.S_IRGRP | stat.S_IWGRP | stat.S_IXGRP

                 | stat.S_IROTH |                stat.S_IXOTH )




    openssl_dir, openssl_cafile = os.path.split(ssl.get_default_verify_paths().openssl_cafile)


    print(" -- pip install --upgrade certifi")

    subprocess.check_call([sys.executable,

        "-E", "-s", "-m", "pip", "install", "--upgrade", "certifi"])


    import certifi


    # change working directory to the default SSL directory

    os.chdir(openssl_dir)

    relpath_to_certifi_cafile = os.path.relpath(certifi.where())

    print(" -- removing any existing file or link")

    try:

        os.remove(openssl_cafile)

    except FileNotFoundError:

        pass

    print(" -- creating symlink to certifi certificate bundle")

    os.symlink(relpath_to_certifi_cafile, openssl_cafile)

    print(" -- setting permissions")

    os.chmod(openssl_cafile, STAT_0o775)

    print(" -- update complete")

    ```


    參考這邊的解法:https://zhuanlan.zhihu.com/p/35967408

  • 2019/11/29 上午 00:20
    MaRon
    贊同數:0
    不贊同數:0
    留言數:1

    不好意思,還是有遇到錯誤

    Command '['C:\\Users\\User\\Anaconda3\\python.exe', '-E', '-s', '-m', 'pip', 'install', '--upgrade', 'certifi']' returned non-zero exit status 1

  • 2019/11/29 上午 10:21
    張維元 (WeiYuan)
    贊同數:0
    不贊同數:0
    留言數:2

    嗨,志榮,試試看在 prompt 上輸入這個吧:


    ```

    conda config --set ssl_verify false

    ```


    Reference: https://stackoverflow.com/questions/33699577/conda-update-failed-ssl-error-ssl-certificate-verify-failed-certificate-ver