【发布时间】:2018-10-12 10:21:48
【问题描述】:
我正在尝试使用 FancyURLopener 执行以下代码(从 html 读取内容)。该代码在过去 2 个月左右运行良好,但现在它开始抛出错误:IOError: [Errno socket error] [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)
当我尝试在本地运行它时,它就像一个魅力。
从 urllib 导入 urlopen
从 urllib 导入 FancyURLopener
从 bs4 导入 BeautifulSoup
导入请求
doc_name = "XYZ"
类 MyOpener(FancyURLopener):
version = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11'
mopen = MyOpener()
def extract_count_from_url(url, tag_name, tag_type, html_tag) :
html = mopen.open(url).read()
soup = BeautifulSoup(html, "html.parser")
我已经在 stackoverflow 和 google 上搜索过了。我得到的答案主要是使用 urllib2 / urllib 库并使用用户代理 + 将上下文设置为 ssl.CERT_NONE (How do I disable the ssl check in python 3.x?)
但我想当我使用 FancyURLopener 时同样不适用,因为当我在 open() 方法中设置上下文以及 url 时,它会引发无效参数错误。
python 版本 = Python 2.7.12
任何线索都会有所帮助。
提前致谢。
【问题讨论】:
标签: python-2.7 ssl fancyurlopener