Python常用內(nèi)建模塊urllib詳解
urllib是一個用于處理 URL 相關(guān)操作的標準庫,它提供了豐富的網(wǎng)絡(luò)通信能力。它主要由以下四個模塊組成:
模塊名稱 | 功能描述 |
|---|---|
??urllib.request?? | 用于打開和讀取 URL,模擬 HTTP 請求(如 GET, POST)。 |
??urllib.error?? | 處理 |
??urllib.parse?? | 用于解析、組合和編碼 URL。 |
??urllib.robotparser?? | 用于解析網(wǎng)站的 |
urllib.request??:發(fā)起網(wǎng)絡(luò)請求
此模塊用于打開和讀取 URL,支持多種協(xié)議(HTTP, HTTPS, FTP 等)。
發(fā)送 GET 請求
使用 urlopen()方法發(fā)送最簡單的 GET 請求:

發(fā)送 POST 請求
通過 data參數(shù)傳遞數(shù)據(jù)即可發(fā)起 POST 請求,數(shù)據(jù)需為字節(jié)流格式:

urllib提供的功能就是利用程序去執(zhí)行各種HTTP請求。如果要模擬瀏覽器完成特定功能,需要把請求偽裝成瀏覽器。偽裝的方法是先監(jiān)控瀏覽器發(fā)出的請求,再根據(jù)瀏覽器的請求頭來偽裝,User-Agent頭就是用來標識瀏覽器的。
urllib是 Python 進行網(wǎng)絡(luò)請求的基石,涵蓋了從發(fā)起請求、處理響應(yīng)、解析 URL 到管理異常等全方位功能。目前廖老師對于這部分的講解還是比較淺顯方便我們?nèi)腴T。
練習(xí)
利用urllib讀取JSON,然后將JSON解析為Python對象:
from urllib import request
def fetch_data(url):
return ''
# 測試
URL = 'https://api.weatherapi.com/v1/current.json?key=b4e8f86b44654e6b86885330242207&q=Beijing&aqi=no'
data = fetch_data(URL)
print(data)
assert data['location']['name'] == 'Beijing'
print('ok')

這個地方SLL證書不通過的問題一直從廖老師教學(xué)的第一段代碼就出現(xiàn),這里ai寫了一段忽略SLL的代碼才得以運行成功
到此這篇關(guān)于Python常用內(nèi)建模塊urllib詳解的文章就介紹到這了,更多相關(guān)Python內(nèi)建模塊urllib內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python虛擬環(huán)境virtualenv是如何使用的
今天給大家?guī)淼氖顷P(guān)于Python虛擬環(huán)境的相關(guān)知識,文章圍繞著Python虛擬環(huán)境virtualenv是如何使用的展開,文中有非常詳細的解釋及代碼示例,需要的朋友可以參考下2021-06-06
Python Web開發(fā)模板引擎優(yōu)缺點總結(jié)
這篇文章主要介紹了Python Web開發(fā)模板引擎優(yōu)缺點總結(jié),需要的朋友可以參考下2014-05-05
使用icecream實現(xiàn)優(yōu)雅調(diào)試Python代碼
在大型項目中,使用print()調(diào)試代碼可能導(dǎo)致終端輸出過多,難以分辨輸出結(jié)果與代碼的對應(yīng)關(guān)系,為了更清晰地調(diào)試,可以采用Icecream庫,本文介紹了如何使用icecream實現(xiàn)優(yōu)雅調(diào)試Python代碼,需要的朋友可以參考下2024-08-08

