初質問:Pythonは図書館SSLエラーを要求:[errnoを2]そのようなファイルまたはディレクトリ
File "D:\Anaconda\Lib\site-packages\requests\api.py", line 70, in get return request('get', url, params=params, **kwargs)
File "D:\Anaconda\Lib\site-packages\requests\api.py", line 56, in request return session.request(method=method, url=url, **kwargs)
File "D:\Anaconda\Lib\site-packages\requests\sessions.py", line 475, in request resp = self.send(prep, **send_kwargs)
File "D:\Anaconda\Lib\site-packages\requests\sessions.py", line 596, in send r = adapter.send(request, **kwargs)
File "D:\Anaconda\Lib\site-packages\requests\adapters.py", line 497, in send raise SSLError(e, request=request)
requests.exceptions.SSLError: [Errno 2] No such file or directory
これは、ここでのコードの1行にまでさかのぼる:
私は以下の結果を得ているimport requests, os, bs4, calendar #, sys
import urllib.request
while not year>2016:
print('Downloading page {}...'.format(url))
res = requests.get(loginpageURL, verify='false', auth=('username', 'password')) #this is the line that doesn't work
res = requests.get(url, verify='false') #but I have tried it without that line and this line also doesn't work
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text)
print(soup)
私はこの問題を幅広く調査し、実際はrequests/urllib3ライブラリ自体の問題であるという結論に至りました。
最初に、verify = 'false'フィックスhereを試しました。それはうまくいかなかった。誰かhereさんが新しいopenSSLとcertifiをインストールすると言われましたが、私のシステムにインストールされ、最新の状態になっているようです。 このバグは、hereに大きな書き込みがあります。私が見ることのできる解決策はありません。 既知の問題としてgithubで特定されていますhere。 requests.exceptions.SSLErrorを::、this答えによると、私は(私はプロジェクトディレクトリに含まれる)=「このcacert.pem」を確認するために、=「false」を検証変更しようとし、それがこのエラーを投げた
[SSL:CERTIFICATE_VERIFY_FAILED]証明書の検証に失敗しました(_ssl.c:645)
ここでは、このコードスニペットを実行したいと思っています。私は数百のzipファイルを一括してダウンロードしようとしています。ウェブサイト - ライブラリの既知の問題にもかかわらず。私はPythonには比較的新しいですが、特にWebスクレイピングには新しいので、これは私のための急いで学ぶ曲線です。どんな助けもありがとう。私はscrapping requestsまで行く必要がありますか?
ありがとうございます!
実際には分かりませんが、私はこの問題に少し前から直面していて、一部のSSLモジュールが見つからないことを知っていました。ニースの質問btw。 – FunkySayu
あなたは正しいかもしれません。それが私の知識が崩壊するところです。私はすでにMechanicalSoupライブラリを使ってみましたが、get: requests.exceptions.SSLError:[SSL:CERTIFICATE_VERIFY_FAILED]証明書の検証に失敗しました(_ssl.c:645) –