在python數(shù)據(jù)請(qǐng)求中,我們有一個(gè)標(biāo)準(zhǔn)庫(kù)專門處理這方面的問(wèn)題,那就是urllib庫(kù)。在不同的python版本中,urllib也有著版本上的變化。本篇就urllib和urllib3這兩種庫(kù)為大家?guī)?lái)介紹,分析其基本的用法、不同點(diǎn)、使用注意和實(shí)例,希望能對(duì)大家在數(shù)據(jù)請(qǐng)求的學(xué)習(xí)有所幫助。
1、說(shuō)明
在可供使用的網(wǎng)絡(luò)庫(kù)中,urllib和urllib3可能是投入產(chǎn)出比最高的兩個(gè)。它們能讓你通過(guò)網(wǎng)絡(luò)訪問(wèn)文件,就像這些文件位于你的計(jì)算機(jī)中一樣。只需一個(gè)簡(jiǎn)單的函數(shù)調(diào)用,就幾乎可將統(tǒng)一資源定位符(URL)可指向的任何動(dòng)作作為程序的輸入。想想這種功能與模塊 re 結(jié)合起來(lái)使用都能做什么吧!你可下載網(wǎng)頁(yè)、從中提取信息并自動(dòng)生成研究報(bào)告。
2、不同點(diǎn)
模塊urllib 和 urllib3的功能差不多,但 urllib3 更好一些。對(duì)于簡(jiǎn)單的下載,urllib 綽綽有余。如果要實(shí)現(xiàn) HTTP 身份驗(yàn)證或 Cookie,抑或編寫擴(kuò)展來(lái)處理自己的協(xié)議,urllib3 可能是更好的選擇。
3、使用注意
要在沒(méi)有聯(lián)網(wǎng)的情況下嘗試使用模塊 urllib,可使用以 file: 打頭的 URL 訪問(wèn)本地文件,如 file:c:\text\somefile.txt(別忘了對(duì)反斜杠進(jìn)行轉(zhuǎn)義)。
4、實(shí)例
幾乎可以像打開本地文件一樣打開遠(yuǎn)程文件,差別是只能使用讀取模式,以及使用模塊 urllib.request 中的函數(shù) urlopen,而不是 open(或 file)。
>>> from urllib.request import urlopen
>>> webpage = urlopen('http://www.python.org')
如果連接到了網(wǎng)絡(luò),變量 webpage 將包含一個(gè)類似于文件的對(duì)象,這個(gè)對(duì)象與網(wǎng)頁(yè) https://www.python.org/ 相關(guān)聯(lián)
內(nèi)容擴(kuò)展:
urllib
它是 Python 內(nèi)置的 HTTP 請(qǐng)求庫(kù),也就是說(shuō)我們不需要額外安裝即可使用,基本上涵蓋了基礎(chǔ)的網(wǎng)絡(luò)請(qǐng)求功能,它包含四個(gè)模塊:
- urllib.request 用于打開和讀取url
- urllib.error 用于處理前面request引起的異常
- urllib.parse 用于解析url
- urllib.robotparser 用于解析robots.txt文件
urllib.request
urllib中,request這個(gè)模塊主要負(fù)責(zé)構(gòu)造和發(fā)起網(wǎng)絡(luò)請(qǐng)求,并在其中加入Headers、Proxy等。
利用它可以模擬瀏覽器的一個(gè)請(qǐng)求發(fā)起過(guò)程
到此這篇關(guān)于python urllib和urllib3知識(shí)點(diǎn)總結(jié)的文章就介紹到這了,更多相關(guān)python urllib和urllib3的內(nèi)容詳解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Python urllib3軟件包的使用說(shuō)明
- python爬蟲之urllib3的使用示例
- Python爬蟲中urllib3與urllib的區(qū)別是什么