當前位置:首頁 » 編程語言 » python3urlopen

python3urlopen

發布時間: 2023-02-05 00:20:13

1. python3中https urlopen()報錯的解決方法

這個錯誤是因為Python 2.7.9 之後引入了一個新特性,當你使用urllib.urlopen一個 https 的時候會驗證一次 SSL證書。當目標使用的是自簽名的證書時就會報urllib.error.URLError錯誤。解決方法如下:

import urllib.request

import ssl

ssl._create_default_https_context = ssl._create_unverified_context

response = urllib.request.urlopen('https://www.python.org')

print(response.read().decode('utf-8'))

通過導入ssl模塊把證書驗證改成不用驗證就行了。

2. python3中urllib2找不到怎麼辦

在python2中使用的urllib2庫在python3中不存在怎麼解決呢?在python3中是urllib.request.urlopen代替了urllib2.

最後列印結果

3. python3中使用urllib進行https請求

剛入門python學習網路爬蟲基礎,我使用的python版本是python3.6.4,學習的教程參考 Python爬蟲入門教程

python3.6的版本已經沒有urllib2這個庫了,所以我也不需要糾結urllib和urllib2的區別和應用場景

參考這篇官方文檔 HOWTO Fetch Internet Resources Using The urllib Package 。關於http(s)請求一般就get和post兩種方式較為常用,所以寫了以下兩個小demo,url鏈接隨便找的,具體場景具體變化,可參考注釋中的基本思路

POST請求:

GET請求:

注意,
使用ssl創建未經驗證的上下文,在urlopen中需傳入上下文參數
urllib.request.urlopen(full_url, context=context)
這是Python 升級到 2.7.9 之後引入的一個新特性,所以在使用urlopen打開https鏈接會遇到如下報錯:
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)
所以,當使用urllib.urlopen打開一個 https 鏈接時,需要先驗證一次 SSL 證書
context = ssl._create_unverified_context()
或者或者導入ssl時關閉證書驗證
ssl._create_default_https_context =ssl._create_unverified_context

4. 為什麼我下載的Python3.6,urllib包裡面沒有urlopen方法

Python3.x以上版本里的urllib模塊已經發生改變,此處的urllib都應該改成urllib.request。
例如要寫成這樣:
import urllib.request
web = urllib.request.urlopen('http://www..com')
f = web.read()
print(f)

5. python3爬蟲urllib.request.urlopen("網址").read() 本來是utf-8,為什麼還要加上urlencode(「utf-8」)

你這行代碼是不需要urlencode()的。

對於返回的request對象,其read()方法獲得的其實是一個位元組流對象,而非字元串對象,所以這時需要調用該位元組流對象的decode()方法,按指定編碼方式進行解碼。
至於urlencode(),這是urllib中的一個函數,它的作用是將字元串進行url編碼。這個編碼其實就是個轉義的過程,將那些因可能造成解釋器誤會或安全問題而不適合出現在請求中的符號進行轉義,並且把超出url編碼表的字元降維。

熱點內容
釘釘密碼密碼是什麼 發布:2024-11-01 20:34:51 瀏覽:730
老款卡羅拉自動擋有哪些配置 發布:2024-11-01 20:34:06 瀏覽:570
android圖片判斷 發布:2024-11-01 20:34:03 瀏覽:267
怎麼給自己手機寫一個腳本 發布:2024-11-01 20:23:41 瀏覽:241
c語言大小寫判斷 發布:2024-11-01 20:21:53 瀏覽:130
php的點餐系統源碼 發布:2024-11-01 20:13:53 瀏覽:714
拜占庭演算法 發布:2024-11-01 20:10:31 瀏覽:357
xcode編譯參數 發布:2024-11-01 20:00:04 瀏覽:665
蘋果5怎麼設置密碼鎖屏 發布:2024-11-01 19:54:55 瀏覽:124
寶塔上傳文件夾 發布:2024-11-01 19:39:50 瀏覽:257