1. 程式人生 > >爬蟲學習筆記-urllib庫

爬蟲學習筆記-urllib庫

服務器 中一 9.png tro 編碼 網頁 如果 str param

urllib庫是python中一個最基本的網絡請求庫。可以模擬瀏覽器的行為,向指定的服務器發送一個請求,並可以保存服務器返回的數據。

urlopen函數:在python3的urllib庫中,所有和網絡請求相關的方法,都被集到urllib.request模塊下面了

urlopen函數基本的使用:

技術分享圖片

url:請求的url

data:請求的data

返回值:返回值是一個 http.client.HTTPResponse對象,這個對象是一個類文件句柄對象

read(size)、readline、readlines以及getcode等方法

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

urlretrieve函數:

這個函數可以方便的將網頁上的一個文件保存到本地

技術分享圖片

技術分享圖片

urlencode函數:

用瀏覽器發送請求的時候,如果url中包含了中文或者其他特殊字符,那麽瀏覽器會自動給我麽編碼。而如果使用代碼發送請求,那麽就必須手動的進行編碼,這時候就應該使用urlencode函數來實現,urlencode可以把字典數據轉換為URL編碼的數據

技術分享圖片

技術分享圖片

parse_qs函數:

可以將經過編碼後的url參數進行解碼

技術分享圖片

urlparse和urlsplit:

有時候拿到一個url,想要對這個url中的各個組成部分進行分割,那麽這時候就可以使用urlparse或者是urlsplit來進行分割

技術分享圖片

技術分享圖片

技術分享圖片

urlparse和urlsplit基本上是一模一樣,唯一不一樣的是

urlparse多了一個params屬性

url = "http://www.baidu.com/s;hello?wd=python&username=abc#1"
urlparse可以獲取到hello,而urlsplit獲取不到

技術分享圖片

爬蟲學習筆記-urllib庫