使用Python 3.6.1和Python 2.7 {ur

时间:2017-06-19 08:27:33

标签: python python-2.7 urllib

我试图使用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>

2 个答案:

答案 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)

所以你会得到预期的最终结果。