我试图使用pip方法将urllib安装到我的python 3.6.1,但我无法修复错误输出。 错误似乎是这样的: enter image description here
我首先在网上搜索并发现一个可能的原因是Python3无法识别0,我需要将最后一位数改为某些东西,因此,我试图打开该文件夹中的setup.py文件。 我试图按照错误中列出的路径访问我的mac上的隐藏文件夹,但是我无法在我的mac中找到任何pip-build-zur37k_r文件夹,我将所有隐藏的fildes变为可见。
我想使用urllib.request库和BeautifulSoup提取信息,当我运行以下代码时:
from urllib.request import urlopen
from bs4 import BeautifulSoup
html = urlopen("https://www.pythonscraping.com/pages/page1.html")
bsObj = BeautifulSoup(html.read())
print(bsObj.h1)
错误似乎是这样的: enter image description here
代码应该返回给我以下信息:
<h1> An Interesting Title </h1>
答案 0 :(得分:0)
您的错误显示证书验证失败。所以这是网站的问题,而不是你的代码。对urlopen()
的调用对我有用,但也许你有一个代理服务器对证书比较麻烦。
答案 1 :(得分:0)
您正在点击的网址没有任何SSL证书,因此当您想要请求此类网站时,您需要忽略ssl检查。如下:
from urllib.request import urlopen
from bs4 import BeautifulSoup
import ssl
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
html = urlopen("https://www.pythonscraping.com/pages/page1.html",context=ctx)
bsObj = BeautifulSoup(html.read()) print(bsObj.h1)
所以你会得到预期的最终结果。