2017-06-19 99 views
-3

我想使用pip方法來安裝urllib到我的python 3.6.1,但我無法修復錯誤輸出。 錯誤似乎是這樣的: enter image description here使用Python 3.6.1和Python 2.7使用urllib的錯誤

我第一次在網上搜索,發現了一個可能的原因是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

粘貼錯誤的文本,而不是鏈接到圖像。 – smarx

+0

[相關](https://stackoverflow.com/questions/27835619/urllib-and-ssl-certificate-verify-failed-error)。 (也許是愚人?) –

回答

0

您的錯誤說證書驗證失敗編號。所以這是一個網站的問題,而不是你的代碼。對urlopen()的呼叫適用於我,但也許你有一個代理服務器,它對證書感到煩惱。

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) 

所以你會得到預期的最終結果。