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資料
(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 ...