忽略样管 python 包装器 Web 提取器的 SSL 验证



我正在尝试从许多没有SSL认证的站点中提取数据。我正在使用样管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)

最新更新