質問
いつもお世話になっております。
ネットや書籍で勉強中の初心者なので、初心者の質問にお付き合いできる方よろしくお願いいたします。
pythonのWebスクレイピングでSSLエラーが出てうまくいきません。
・プロキシがある環境です。
・windows10
・Python 3.7.3
verify=Falseは避けたいのでこれ以外の解決法ご存知の方よろしくお願いいたします。
まだ解決していないので再投稿させていただきました。
コード
python
1 2import requests,os,bs4 3 proxies = { 4'http': 'http://000.00.000.000:0000', 5'https': 'http://000.00.000.000:0000' 6} 7res = requests.get('http://nostarch.com',proxies=proxies)
エラー
python
1Traceback (most recent call last): 2 File "C:\Users\userid123\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3-1.25.3-py3.7.egg\urllib3\contrib\pyopenssl.py", line 472, in wrap_socket 3 cnx.do_handshake() 4 File "C:\Users\userid123\AppData\Local\Programs\Python\Python37\lib\site-packages\OpenSSL\SSL.py", line 1915, in do_handshake 5 self._raise_ssl_error(self._ssl, result) 6 File "C:\Users\userid123\AppData\Local\Programs\Python\Python37\lib\site-packages\OpenSSL\SSL.py", line 1647, in _raise_ssl_error 7 _raise_current_error() 8 File "C:\Users\userid123\AppData\Local\Programs\Python\Python37\lib\site-packages\OpenSSL\_util.py", line 54, in exception_from_error_queue 9 raise exception_type(errors) 10OpenSSL.SSL.Error: [('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')]
試したこと
・certifiのアプデ
・コマンドプロンプトでpythonが参照しているSSL証明書の場所をだす
python -c "import requests;print(requests.certs.where())"
参照された場所を追加↓
res = requests.get('http://nostarch.com',verify='C:userid1123\cacert.pem',proxies=proxies)
エラーになってしまう。
verify=に指定するのが間違っていたらすみません。
あなたの回答
tips
プレビュー