爬取網頁通用代碼框架:
try:
r = requests.get(url,timeout=30)
r.raise_for_status() #如果返回的狀態碼不是200,引發HTTPErrow異常
r.enconding = r.apparent_encoding
return r.text
except:
return "產生異常"
1.
r = requests.get(url,params=None,**kwargs) #獲取網頁信息的主要方法
url:擬獲取頁面的url鏈接
params:url中的額外參數,字典或字節流格式,可選
**kwargs:12個控制訪問參數,可選
r:包含爬蟲返回的全部對象
2.
r.status_code:檢測請求的狀態碼,如果狀態嗎是200訪問成功,否則失敗
r.encoding:從HTTP header中猜測的響應內容編碼方式
如果header中不存在charset,則認爲編碼爲ISO-8859-1,這樣的編碼不能解析中文
r.apparent_encoding:從內容中分析出的響應內容編碼方式
r.text:HTTP響應內容的字符串形式,即url對應的頁面內容
3.
用get方法獲取網絡資源流程:
用r.status_code檢查他的Respense對象的狀態
if 200:
r.text r.encoding r.apparent_encoding 等解析反回內容
else:
某些原因出錯將產生異常
4.
r = requests.head(url) #獲取網頁資源概要信息