基本庫的使用 urllib

2021-08-28 04:46:10 字數 2318 閱讀 3810

最基礎的http 庫有urllib 、httplib2 、requests 、treq 等。

使用urllib

urllib 庫,它是python 內建的http 請求庫,也就是說不需要額外安裝即可使用。它包含如下4 個模組。

request: 它是最基本的http 請求模組,可以用來模擬傳送請求。就像在瀏覽器裡輸入網撾然後回車一樣,只需要給庫方法傳入url 以及額外的引數,就可以模擬實現這個過程了。

error: 異常處理模組,如果出現請求錯誤, 我們可以捕獲這些異常,然後進行重試或其他操作以保證程式不會意外終止。

parse: 乙個工具模組,提供了許多url 處理方法,比如拆分、解析、合併等。

robotparser:主要是用來識別**的robots.txt 檔案,然後判斷哪些**可以爬,哪些**不可以爬,它其實用得比較少。

解析鏈結

urllib 庫里還提供了parse 模組,它定義了處理url 的標準介面,例如實現url 各部分的抽取、合併以及鏈結轉換。它支援如下協議的url 處理:file 、ftp 、gopher 、hdl 、http、https 、imap 、mailto 、mms 、news 、nntp 、prospero 、rsync 、rtsp 、rtspu 、sftp 、sip 、sips 、snews 、svn 、svn+ssh 、telnet

和wais 。

1. urlparse() -- 實現url 的識別和分段

可以看到,返回結果是乙個parseresult 型別的物件,它包含6 個部分,分別是scheme、netloc、path、params、query 和fragment 。
可以發現, urlparse() 方法將其拆分成了6 個部分。大體觀察可以發現,解析時有特定的分隔符。比如,://前面的就是scheme ,代表協議;第乙個/符號前面便是netloc ,即網域名稱,後面是path ,即訪問路徑;分號;前面是pa rams ,代表引數;問號?後面是查詢條件query , 一般用作get 型別的url;井號#後面是錨點,用於直接定位頁面內部的下拉位置。

所以,可以得出乙個標準的鏈結格式,具體如下:

分析robots協議

Urllib庫的基本使用

爬取網頁 爬取網頁其實就是根據url來獲取它的網頁資訊,雖然我們在瀏覽器中看到的是一幅幅優美的畫面,但是其實是由瀏覽器解釋才呈現出來的,實質它是一段html 加 js css,如果把網頁比作乙個人,那麼html便是他的骨架,js便是他的肌肉,css便是它的衣服。所以最重要的部分是存在於html中的,...

爬蟲 urllib基本庫的使用

urllib包含了request 開啟和讀取url error 包含request引發的異常 parse 解析url robotparser 解析robots.txt檔案 四個用於處理url的模組。使用urllib.request.urlopen 傳送請求 示例 coding utf 8 from ...

Python爬蟲 Urllib庫的基本使用

其實上面的urlopen引數可以傳入乙個request請求,它其實就是乙個request類的例項,構造時需要傳入url,data等等的內容。比如上面的兩行 我們可以這麼改寫 import urllib import requests request urllib.request.request re...