溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python怎么操作網(wǎng)頁(yè)

發(fā)布時(shí)間:2022-02-22 16:52:50 來(lái)源:億速云 閱讀:357 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“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.requesturlopen()方法即可。

   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)注!

向AI問一下細(xì)節(jié)

免責(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)容。

AI