python爬蟲學習筆記(更新中)
阿新 • • 發佈:2020-09-16
requests庫簡單介紹
import requests
r = requests.get("url")
/*
r=requests.get(url,params=Node,**kwargs)
url:擬獲取頁面的url連結
params:字典或位元組流格式,可選
**kwargs:12個控制訪問的引數
*/
response的物件型別
- r.status_code HTTP請求的返回狀態,200表示連線成功,404等表示失敗
- r.text HTTP響應內容的字串形式,即url對應的頁面內容
- r.encoding 從HTTP header中猜測的響應內容的編碼方式
- 如果header中不存在charset,則認為編碼是ISO-8859-1
- r.apparent_encoding 從網頁內容中分析出的響應備選編碼形式(通常更準確)
- r.content HTTP響應內容的二進位制形式(比如說一個圖片就是二進位制編碼)
requests庫的7個主要方法
- requests.request()構造一個請求,支撐以下各方法的基礎方法
- requests.get() 獲取HTML網頁的主要方法,對應於HTTP的GET
- requests.head()獲取HTML網頁頭資訊的方法,對應於HTTP的HEAD
- requests.post()向HTML網頁提交POST請求的方法,對應於HTTP的POST
- requests.put()向HTML網頁提交PUT請求的方法,對應於HTTP的PUT(全部覆蓋式修改)
- requests.patch()向HTML網頁提交區域性修改請求,對應於HTTP的PATCH(區域性修改)
- requests.delete()向HTML頁面提交刪除請求,對應於HTTP的DELETE
requests庫常用異常
- requests.ConnectionError 網路連線錯誤異常,如DNS查詢失敗、拒絕連線等
- requests.HTTPError HTTP錯誤異常
- requests.URLRequired URL缺失異常
- requests.TooManyRedirects 超過最大重定向次數,產生重定向異常
- requests.ConnectTimeout 連線遠端伺服器超時異常
- requests.Timeout 請求URL超時,產生超時異常
HTTP協議
超文字傳輸協議。
HTTP是一個基於“請求與響應”模式的、無狀態的(第一次和第二次請求並沒有關聯)應用層協議。
HTTP協議採用URL作為定位網路資源的標識。
URL格式:\(http://host[:prot][path]\)
- host:合法的Internet主機域名或IP地址
- port:埠號,預設埠為80
- path:請求資源的路徑
URL是通過HTTP協議存取資源的Internet路徑,一個URL對應一個數據資源。