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() # 請求頭會以列表包含元組或列表的方式進行保存。 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)對象進行狀態(tài)碼的訪問、網(wǎng)頁代碼的讀取等一系列操作。
- 它們在參數(shù)上具有一定的區(qū)別。
補充:
python 3的urllib庫介紹
Python 3中的urllib模塊可以用來處理URL,包括下載和上傳文件、創(chuàng)建和讀取cookie、訪問Web API等。在本文中,我們將詳細介紹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)文章
numpy中實現(xiàn)ndarray數(shù)組返回符合特定條件的索引方法
下面小編就為大家分享一篇numpy中實現(xiàn)ndarray數(shù)組返回符合特定條件的索引方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python利用pdfplumber提取PDF文檔中的表格數(shù)據(jù)并導(dǎo)出
pdfplumber是一個功能強大的Python庫,可以用于解析PDF文檔并提取其中的文本、表格和圖像等內(nèi)容,下面我們就來學(xué)習(xí)一下如何使用pdfplumber提取PDF表格數(shù)據(jù)吧2023-12-12Pandas中df.loc[]與df.iloc[]的用法與異同?
本文主要介紹了Pandas中df.loc[]與df.iloc[]的用法與異同,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧?2022-07-07基于Python數(shù)據(jù)結(jié)構(gòu)之遞歸與回溯搜索
今天小編就為大家分享一篇基于Python數(shù)據(jù)結(jié)構(gòu)之遞歸與回溯搜索,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02python3基于OpenCV實現(xiàn)證件照背景替換
這篇文章主要為大家詳細介紹了python3基于OpenCV實現(xiàn)證件照背景替換,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07Python實現(xiàn)將PowerPoint轉(zhuǎn)為HTML格式
有時我們需要將精心設(shè)計的PPT發(fā)布到網(wǎng)絡(luò)上以便于更廣泛的訪問和分享,本文將介紹如何使用Python將PowerPoint轉(zhuǎn)換為HTML格式,需要的可以參考下2024-04-04