忽略 boilerpipe python 包装器 Web 提取器的 SSL 验证?
Ignore SSL verification for boilerpipe python wrapper web extractor?
我正试图从许多没有 SSL 认证的站点中提取数据。我正在使用 boilerpipe python 包装器提取没有 HTML 的文本并将其写入文本文件。
我了解如何删除请求库中的 SSL 认证要求,但在涉及样板管道时我似乎找不到解决方案。 Boilerpipe 是一个了不起的 Java 库,用于为 NLP 准备抓取的数据,所以我希望能够在 Python.
中使用它
这是我的代码 运行:
for url in urls:
extractor = Extractor(url='http://www.' + url)
extracted_text = extractor.getText()
with open('websitestext.txt', 'a') as webtextfile:
webtextfile.write(extracted_text)
我认为这是导致问题的错误(SSL 认证):
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:748)>
看来我找到了解决办法:
import ssl
try:
_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
# Legacy Python that doesn't verify HTTPS certificates by default
pass
else:
# Handle target environment that doesn't support HTTPS verification
ssl._create_default_https_context = _create_unverified_https_context
并通过添加例外:
for url in urls:
try:
extractor = Extractor(url='http://www.' + url)
extracted_text = extractor.getText()
except:
pass
with open('websitestext.txt', 'a') as webtextfile:
webtextfile.write(extracted_text)
我正试图从许多没有 SSL 认证的站点中提取数据。我正在使用 boilerpipe python 包装器提取没有 HTML 的文本并将其写入文本文件。
我了解如何删除请求库中的 SSL 认证要求,但在涉及样板管道时我似乎找不到解决方案。 Boilerpipe 是一个了不起的 Java 库,用于为 NLP 准备抓取的数据,所以我希望能够在 Python.
中使用它这是我的代码 运行:
for url in urls:
extractor = Extractor(url='http://www.' + url)
extracted_text = extractor.getText()
with open('websitestext.txt', 'a') as webtextfile:
webtextfile.write(extracted_text)
我认为这是导致问题的错误(SSL 认证):
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:748)>
看来我找到了解决办法:
import ssl
try:
_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
# Legacy Python that doesn't verify HTTPS certificates by default
pass
else:
# Handle target environment that doesn't support HTTPS verification
ssl._create_default_https_context = _create_unverified_https_context
并通过添加例外:
for url in urls:
try:
extractor = Extractor(url='http://www.' + url)
extracted_text = extractor.getText()
except:
pass
with open('websitestext.txt', 'a') as webtextfile:
webtextfile.write(extracted_text)