#使用urllib發(fā)起請求
from urllib import request
#目標(biāo)url
url = 'http://www.baidu.com/'
# request.urlopen():使用urlopen方法模擬瀏覽器發(fā)起請求
response = request.urlopen(url,timeout=10,content=content)
"""
urllib模塊發(fā)起請求的參數(shù):
url, 請求的目標(biāo)url地址
data=None,默認(rèn)情況為None,表示發(fā)起的是一個(gè)get請求,不為None,則發(fā)起的是一個(gè)post請求
timeout=,設(shè)置請求的超時(shí)時(shí)間
cafile=None, 設(shè)置證書
capath=None, 設(shè)置證書路徑
cadefault=False, 是否要使用默認(rèn)證書(默認(rèn)為False)
context=None:是一個(gè)ssl值,None表示忽略ssl認(rèn)證
"""
# 如果在請求的時(shí)候出現(xiàn)ssl認(rèn)證錯(cuò)誤,我們就需要以下設(shè)置忽略ssl認(rèn)證
content = ssl._create_unverified_context()
在發(fā)起請求的時(shí)候括號(hào)中添加context值
response = request.urlopen(url,timeout=10,context=content)
#從response響應(yīng)結(jié)果中獲取參數(shù)
#狀態(tài)碼
code = response.status
#獲取頁面源碼的二進(jìn)制數(shù)據(jù),我們需要把二進(jìn)制數(shù)據(jù)解碼成str類型數(shù)據(jù)方便讀取或存儲(chǔ)
b_html = response.read().decode('utf-8')
#獲取響應(yīng)的響應(yīng)頭部(Response Headers)
res_headers = response.getheaders()
#獲取響應(yīng)頭中指定參數(shù)的值
cookie_data = response.getheader('Set-Cookie')
#reason返回一個(gè)響應(yīng)結(jié)果的原因
reason = response.reason
# 將獲取到的頁面源碼存儲(chǔ)到本地
with open('b_baidu.page.html','w') as file:
file.write(b_html)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。