在 python 爬蟲中,當您向目標傳送 HTTP 請求時,通常會得到乙個響應物件。 此物件包含伺服器的響應,例如狀態程式碼、響應標頭、響應正文等。 處理響應物件通常涉及以下步驟:
檢查狀態碼:首先,需要檢查HTTP響應的狀態碼。 狀態程式碼是乙個三位數字,表示請求的結果。 常見的狀態程式碼是 200(成功(未找到)等。
python
複製。 import requests
response = requests.get('')
if response.status_code == 200:
print('請求成功')
else:print('請求失敗,狀態程式碼:', response.status_code)
解析響應正文:響應正文通常包含網頁的 HTML 內容或其他格式化資料。 您需要根據目標的資料格式解析響應體。 常見的解析方法有正規表示式、beautifulsoup、lxml等。
python
複製。 from bs4 import beautifulsoup
soup = beautifulsoup(response.text, 'html.parser')
現在,您可以使用 beautifulsoup 物件從網頁中提取資料。
處理異常:在爬蟲中,您可能會遇到各種異常,例如網路問題、伺服器錯誤等。 為了保證程式的穩定性,你應該使用try...。except 語句來處理這些異常。
python
複製。 try:
response = requests.get('')
response.Raise for status() 如果狀態程式碼不是 2xx,則會丟擲 HTTPError 異常。
處理響應正文。
except requests.requestexception as e:
print('請求失敗:', e)
儲存資料:從響應正文中提取所需資料後,可以將其儲存到檔案、資料庫或其他儲存介質中。
設定請求頭:有時可能需要設定一些請求頭,例如user-agent,以避免被目標識別為爬蟲並拒絕請求。
python
複製。 headers = {
user-agent': 'mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/58.0.3029.110 safari/537.3'
response = requests.get('', headers=headers)
處理反爬蟲策略:有些可能會使用各種反爬蟲策略,例如驗證碼、登入驗證、動態載入等。 在這種情況下,您可能需要使用更高階的技術,例如硒、瘙癢等,以繞過這些策略。
一般來說,處理響應物件需要根據具體情況進行定製,並且可能需要結合技術和策略來實現目標。