requests套件可用來取得網頁資訊,此套件在安裝anaconda套件時即會同時安裝,requests套件提供的get()函式和上節介紹的urlopen()函式的用法類似。get()函式帶入網址字串可傳回Response物件,此物件可擷取網頁資訊,其語法如下:
import requests #匯入 requests套件
......
物件變數=requests.get (網址字串) # 建立Response物件Response物件提供如下屬性,可取得網頁資訊:
| 屬性 | 說明 |
|---|---|
url | 傳回網頁網址。 |
headers | 傳回網頁表頭資訊。 |
status_code | 傳回伺服器的狀態碼。例如:200 表示請求成功;400 表示用戶端錯誤;404 表示請求失敗。 |
encoding | 設定網頁資料的編碼。常見的設定編碼為 ‘utf-8’。 |
text | 傳回網頁資料(即網頁程式)。 |
[簡例] (檔名:requests01.py)
將urlopen01.py範例改使用requests套件的get()函式來取得碁峰資訊圖書網頁資訊,本例執行結果與urlopen01.py相同。
程式碼:
requests01.pyimport requests urlstr='http://books.gotop.com.tw/default.aspx' responseObj=requests.get(urlstr) print('網站網址:',responseObj.url) print('讀取狀態:',responseObj.status_code) print('網頁表頭:',responseObj.headers) responseObj.encoding='utf-8' print('網頁資料:',responseObj.text)
相關主題與延伸閱讀
- 1. 網路爬蟲:先了解網路爬蟲的基本概念與應用場景。
- 2. urllib 套件解析網址與擷取網頁:可比較
urllib套件與requests套件在擷取網頁上的差異。 - 4. BeautifulSoup 套件解析網頁:擷取到網頁內容後,接續學習如何解析取出所需資料。
- 5. 網頁爬蟲應用實例:綜合運用擷取與解析技巧的實際應用案例。