URL 목록을 탐색하고 아름다운 스프를 사용하여 콘텐츠를 추출하는 간단한 프로그램을 작성하고 있습니다. 분을 위해 난 그냥 HTML을 목록을 반복하고 검색하기 위해 노력하고 있지만 나는 다음과 같은 오류가 계속 :SSL : Windows에서 CERTIFICATE_VERIFY_FAILED 오류가 발생했습니다.
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 1318, in do_open
encode_chunked=req.has_header('Transfer-encoding'))
File "C:\ProgramData\Anaconda3\lib\http\client.py", line 1239, in request
self._send_request(method, url, body, headers, encode_chunked)
File "C:\ProgramData\Anaconda3\lib\http\client.py", line 1285, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "C:\ProgramData\Anaconda3\lib\http\client.py", line 1234, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "C:\ProgramData\Anaconda3\lib\http\client.py", line 1026, in _send_output
self.send(msg)
File "C:\ProgramData\Anaconda3\lib\http\client.py", line 964, in send
self.connect()
File "C:\ProgramData\Anaconda3\lib\http\client.py", line 1400, in connect
server_hostname=server_hostname)
File "C:\ProgramData\Anaconda3\lib\ssl.py", line 401, in wrap_socket
_context=self, _session=session)
File "C:\ProgramData\Anaconda3\lib\ssl.py", line 808, in __init__
self.do_handshake()
File "C:\ProgramData\Anaconda3\lib\ssl.py", line 1061, in do_handshake
self._sslobj.do_handshake()
File "C:\ProgramData\Anaconda3\lib\ssl.py", line 683, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/thoma/PycharmProjects/fyp/urls_and_prep/parsing_html.py", line 17, in <module>
response = urllib.request.urlopen(req)
File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 223, in urlopen
return opener.open(url, data, timeout)
File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 526, in open
response = self._open(req, data)
File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 544, in _open
'_open', req)
File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 504, in _call_chain
result = func(*args)
File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 1361, in https_open
context=self._context, check_hostname=self._check_hostname)
File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 1320, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)>
내 프로그램은 간단하다하지만 난 이해하거나 좋은 리소스를 찾을 수 없습니다 정확하게 진행되고있는 작업/처리 방법 나는 SSL 인증서와 관련이있다. 그러나 SSL 인증서를 사용하는 방법이나 설치 위치 등을 잘 모르겠다. . 모든 안내 또는 도움을 크게 주시면 감사하겠습니다.
import urllib.request
from bs4 import BeautifulSoup
file = open("all_urls.txt", "r")
for line in file:
print(line)
try:
response = urllib.request.urlopen(line)
html = response.read()
except ValueError:
print(ValueError)
continue
soup = BeautifulSoup(html, 'lxml')
print(soup.get_text())
[이 주제에 대한 많은 질문이 (있다 https://stackoverflow.com/search?q=is%3Aquestion, 인증서는 SSL을 확인하지 않고 작업 할로 생산에 사용하지 않도록주의 + 파이썬 + 인증서 + 실패). 도움이되지 않고 특정 질문에 대한 도움을 얻으려면 문제를 재현 할 수있는 세부 정보를 제공해주십시오. 이는 특히 코드가 실패한 URL을 의미합니다. –