我正在尝试从许多没有SSL认证的网站中提取数据。我正在使用boilerpipe python包装器来提取没有HTML的文本并将其写入文本文件。
我了解如何删除请求库中的SSL认证要求,但在samppipe方面我似乎无法找到解决方案。 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)>
答案 0 :(得分:0)
我似乎找到了一个解决方案:
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)