urllib庫的使用

2021-09-28 14:12:56 字數 3852 閱讀 7872

import urllib.request

data = urllib.request.urlopen(

'')print

()

urlopen原始碼:不支援新增headers(請求頭部)

def

urlopen

(url, data=

none

, timeout=socket._global_default_timeout,

*, cafile=

none

, capath=

none

, cadefault=

false

, context=

none

):

data:自動變成post請求

timeout:超時,超過所定的時間會丟擲異常

# 新增headers,偽裝成瀏覽器訪問

headers =

request = urllib.request.request(

'', headers=headers)

# 例項

print

(urllib.request.urlopen(request)

.read(

).decode(

))

urlopen 不支援**、cookies,需要自己建立乙個opener物件

data = urllib.request.urlopen(

'')print

(data.info())

# 列印響應頭,伺服器返回的資料,每次請求後,響應不一樣

# 建立乙個cookies物件

cookies = cookiejar.cookiejar(

)# 建立乙個cookies處理器

# 建立乙個opener物件

opener = urllib.request.build_opener(req)

data = opener.

open

('')print

(data.info())

data = opener.

open

('')print

(data.info(

))

第一次請求時,cookies被儲存在了opener這個物件中,第二次訪問時不會響應

獲取本機ip

print

(urllib.request.urlopen(

'').read(

).decode(

))

當此ip被遮蔽後,需要**更換訪問ip

免費**

# 建立**

proxy =

# **池,可以增量採集迴圈抓取

# 建立乙個**處理器

proxies = urllib.request.proxyhandler(proxy)

# 建立乙個opener物件

opener = urllib.request.build_opener(proxies)

print

(opener.

open

('').read(

).decode(

))

response物件

read() 獲取響應返回的資料,只能用一次

readline() 讀取一行

info() 獲取響應頭資訊

geturl() 獲取訪問的url

getcode() 返回狀態碼

data = urllib.request.urlopen(

'', data=b'username=lc'

)print

(data.read(

).decode())

print

(data.read(

).decode())

# 只能獲取一次response資料

"""

"""from urllib import parse

# quote -- unquote

params =

'斜光'

print

(parse.quote(params)

)print

(parse.unquote(

'%e5%8a%a8%e6%bc%ab'))

# 接收字典 parse_qs -- urlencode

params =

print

(parse.urlencode(params)

)# 自動拼接引數

urlerror:是error異常模組的基類,由request模組產生的異常都可以用這個類來處理

httperror:是urlerror的子類,主要包含三個屬性:

協議,表示能抓取哪些頁面

列:urllib3是第三方庫

fields:相當於data

body

# 檔案上傳(二進位制)

))

fields傳字典資料型別,不能傳二進位制檔案

二進位制檔案用body傳參

返回的json格式資料可以通過json模組,load為字典資料型別

:# 每次只讀取32bytes資料

print

(chunk)

基本庫的使用 urllib

最基礎的http 庫有urllib httplib2 requests treq 等。使用urllib urllib 庫,它是python 內建的http 請求庫,也就是說不需要額外安裝即可使用。它包含如下4 個模組。request 它是最基本的http 請求模組,可以用來模擬傳送請求。就像在瀏覽器...

Urllib庫的基本使用

爬取網頁 爬取網頁其實就是根據url來獲取它的網頁資訊,雖然我們在瀏覽器中看到的是一幅幅優美的畫面,但是其實是由瀏覽器解釋才呈現出來的,實質它是一段html 加 js css,如果把網頁比作乙個人,那麼html便是他的骨架,js便是他的肌肉,css便是它的衣服。所以最重要的部分是存在於html中的,...

python自帶Urllib庫的使用

import urllib urllib包裡面有四個模組 urllib.request urllib.error urllib.parse urllib.robotparser urllib.request模組最重要,它主要包含對伺服器請求的發出 跳轉 和安全等各個方面的功能實現 載入import ...