Python3中urllib庫添加請求頭的兩種方式
Python3中urllib庫添加請求頭的兩種方式
導(dǎo)入模塊
import urllib.request
方法一:build_opener類
link = 'https://movie.douban.com/top250' # 在這里,必須使用元組或列表的方式定制請求頭。 headers = ('user-agent','mozilla/5.0') opener = urllib.request.build_opener() # 請求頭會以列表包含元組或列表的方式進(jìn)行保存。 opener.addheaders = [headers] r = opener.open(link,timeout=10) # 打印請求狀態(tài)碼,這里返回200,表示請求成功。 print(r.code)
方式二:Request與urlopen類
link = 'https://movie.douban.com/top250'
headers = {'user-agent':'mozilla/5.0'}
'''
使用Request類添加請求頭可以不使用headers這個參數(shù)。而使用這個類的實例化對象的方法
add_header(key='user-agent',val='mozilla/5.0')
'''
add = urllib.request.Request(url=link,headers=headers)
r = urllib.request.urlopen(url=add,timeout=10)
print(r.code)在方式二中,urllib庫中Request與urlopen兩個請求類一起使用的主要原因:
- Request可以添加請求頭,而urlopen不能。
- urlopen可以對響應(yīng)對象進(jìn)行狀態(tài)碼的訪問、網(wǎng)頁代碼的讀取等一系列操作。
- 它們在參數(shù)上具有一定的區(qū)別。
補充:
python 3的urllib庫介紹
Python 3中的urllib模塊可以用來處理URL,包括下載和上傳文件、創(chuàng)建和讀取cookie、訪問Web API等。在本文中,我們將詳細(xì)介紹urllib庫中最常用的四個模塊:urllib.request、urllib.parse、urllib.error和urllib.robotparser。
一、urllib.request模塊
該模塊提供了許多功能,如打開URL、讀取其中的響應(yīng),以及設(shè)置請求頭等。
打開URL 有兩種方法打開URL,分別是使用urllib.request.urlopen()和 urllib.request.Request()。
1.1 使用urllib.request.urlopen()
可以使用urlopen()函數(shù)打開一個URL,如果給定了字符串參數(shù),將嘗試打開這個URL,并且返回一個 file-like 對象,在此對象上可以執(zhí)行類似文件的操作。例如:
python import urllib.request response = urllib.request.urlopen(‘https://www.example.com/') print(response.read().decode(‘utf-8'))
此代碼將在控制臺輸出從示例站點獲取的HTML內(nèi)容。
1.2 使用urllib.request.Request()
假設(shè)需要傳遞一些參數(shù)、HTTP頭等信息,則可以使用Request()方法構(gòu)造一個請求對象,然后再調(diào)用urlopen()發(fā)送請求。例如:
python
import urllib.request
req = urllib.request.Request(‘http://www.example.com/', data=b'some_data', headers={‘User-Agent': ‘Mozilla/5.0'})
response = urllib.request.urlopen(req)
print(response.read().decode(‘utf-8'))這里創(chuàng)建了一個請求對象,其中包含URL、數(shù)據(jù)(可[Cannot read property ‘status’ of undefined]
到此這篇關(guān)于Python3中urllib庫的兩種添加請求頭的方式的文章就介紹到這了,更多相關(guān)Python3 urllib庫添加請求頭內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用Python實現(xiàn)批量轉(zhuǎn)換圖片格式
本文重點介紹普通圖片格式怎么相互轉(zhuǎn)換,如jpg格式圖片怎么批量轉(zhuǎn)化為png格式,在深度學(xué)習(xí)項目中,有時我們收集到的數(shù)據(jù)集圖片格式不統(tǒng)一,有的代碼支持多種格式圖片輸入,有的則只支持個別格式,所以這時,我們需要通過腳本來轉(zhuǎn)換圖片格式,不說廢話,直接上代碼2025-08-08
探討python??pandas.DataFrame.to_json?函數(shù)
這篇文章主要介紹了python??pandas.DataFrame.to_json?函數(shù)示例詳解,to_json?函數(shù)提供了靈活的參數(shù)設(shè)置,使得?pandas?數(shù)據(jù)框能夠以多種格式導(dǎo)出為?JSON?文件,需要的朋友可以參考下2024-07-07
關(guān)于Python3 lambda函數(shù)的深入淺出
今天小編就為大家分享一篇關(guān)于Python3 lambda函數(shù)的深入淺出,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
Python 實現(xiàn) PPT 轉(zhuǎn) HTML的實現(xiàn)示例
本文介紹了利用Spire.Presentation for Python這一專業(yè)組件,通過編程方式實現(xiàn)演示文稿到 HTML 的精準(zhǔn)轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2026-03-03
pandas刪除某行或某列數(shù)據(jù)的實現(xiàn)示例
本文主要介紹了pandas刪除某行或某列數(shù)據(jù)的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
使用python進(jìn)行二維碼生成和識別的實現(xiàn)
在Python中,生成和識別二維碼可以使用不同的庫來實現(xiàn),最常用的庫包括 qrcode 和 pyzbar,以下是如何使用這些庫來生成和識別二維碼的示例,感興趣的小伙伴可以參考閱讀下2024-09-09

