您好,登錄后才能下訂單哦!
這篇文章主要講解了“python怎么操作網(wǎng)頁(yè)”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“python怎么操作網(wǎng)頁(yè)”吧!
urllib 庫(kù)是一個(gè) python 自帶的用于操作網(wǎng)頁(yè) URL 的庫(kù),它可以簡(jiǎn)單的對(duì)網(wǎng)頁(yè)的內(nèi)容進(jìn)行抓取處理。該功能最常用于 python 爬蟲的開發(fā),不過對(duì)于爬蟲開發(fā)而言,request 是一個(gè)更好的選擇。但內(nèi)置的 urllib 也可以在簡(jiǎn)單使用上替代 request 庫(kù)(而且由于 urllib 庫(kù)是內(nèi)置的,所以并不需要額外安裝)。
urllib 是 python 內(nèi)置的庫(kù),不需要額外的安裝。
urllib 庫(kù)下有四個(gè)模塊,分別是 request 模塊,error 模塊,parse 模塊和 robotparser 模塊。
urllib.request
該模塊定義了一些打開URL的函數(shù)和類,比如發(fā)起請(qǐng)求,授權(quán)驗(yàn)證,重定向,cookie等功能。
對(duì)于爬蟲而言,一般只需要了解urllib.request
的urlopen()
方法即可。
urlopen()
方法可以選擇傳入如下參數(shù)(不完全,但是基本上是爬蟲常用的參數(shù)):
url
:url 地址,也就是請(qǐng)求的鏈接。
data
:發(fā)送到服務(wù)器的數(shù)據(jù)包(使用post方法的時(shí)候),默認(rèn)為None。
timeout
:設(shè)置訪問超時(shí)時(shí)間。
headers
:請(qǐng)求頭,這個(gè)字段在爬蟲反反爬的時(shí)候需要用到。
method
:請(qǐng)求方法,可以設(shè)置請(qǐng)求的方式,默認(rèn)是get請(qǐng)求。
代碼示例:
url = 'http://www.kemok4.com/'
headers = {
#假裝自己是瀏覽器
'User-Agent':' Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
}
req = request.Request(url,data=None,headers=headers,method='GET')
urllib.error
該模塊為urllib.request
所引發(fā)的異常定義了異常類,用于處理urllib.request
引起的異常。
urllib.parse
該模塊用于解析URL ,它可以解析一個(gè)url的協(xié)議,網(wǎng)絡(luò)位置部分,分層路徑,最后路徑元素的參數(shù),查詢組件,片段識(shí)別,用戶名,密碼,主機(jī)名(小寫)和端口號(hào)(前提是該URL有對(duì)應(yīng)的值)
一般而言一個(gè)url的結(jié)構(gòu)只要開發(fā)者有一定經(jīng)驗(yàn),可以直接看出上述的內(nèi)容,所以該模塊的作用只是用于自動(dòng)化操作,對(duì)于爬蟲而言作用有限(在最開始的網(wǎng)站分析階段開發(fā)者已經(jīng)將相應(yīng)的工作都做完了),如需了解對(duì)應(yīng)的內(nèi)容,請(qǐng)前往python教程進(jìn)行了解
urllib.robotparser
該模塊用于解析robot文件。
robot文件是網(wǎng)站用來(lái)告訴爬蟲什么內(nèi)容可以爬什么內(nèi)容不能爬的文件,是網(wǎng)站與爬蟲開發(fā)者之間的君子協(xié)定。雖然沒有明文規(guī)定robot規(guī)定不能爬的內(nèi)容一定不能爬,但是爬取robot規(guī)定不能爬的內(nèi)容對(duì)方可以向開發(fā)者追責(zé)。
感謝各位的閱讀,以上就是“python怎么操作網(wǎng)頁(yè)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)python怎么操作網(wǎng)頁(yè)這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。