python爬蟲學習筆記二:Requests庫詳解及HTTP協議

Requests庫的安裝:https://mp.csdn.net/postedit/83715574python

r=requests.get(url,params=None,**kwargs)服務器

這個r是Response對象網絡

url :擬獲取頁面的url連接app

params:url中的額外參數,字典或字節流格式,可選框架

**kwargs:12個控制訪問的參數post

Requests庫的2個重要對象網站

                                             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

 

Response對象包含爬蟲返回的內容ui

Response對象屬性:編碼

r.status_code   HTTP請求的返回狀態,200表示連接成功,404表示失敗,返回不爲200都是失敗的url

r.text                 HTTP響應內容的字符串形式,即url對應的頁面內容

r.encoding         從HTTP header中猜想的響應內容編碼方式

r.apparent_encoding  從內容中分析出響應內容編碼方式(備選編碼方式)

r.content            HTTP響應內容的二進制形式

                                                        理解Requests庫的異常

異常 說明
requests.ConnectionError 網絡鏈接錯誤異常,如DNS查詢失敗、拒絕鏈接等
requests.HTTPError HTTP錯誤異常
requests.URLRequired URL缺失異常
requests.TooManyRedirects 超過最大重定向次數,產生重定向異常
requests.ConnectTimeout 鏈接遠程服務器超時異常
requests.Timeout 請求URL超時,產生超時異常

理解Response對象很是重要。

理解Requests庫的異常,通用代碼框架:

r.raise_for_status()         若是不是200,產生異常requests.HTTPError ,用這個結合try catch能夠拋出異常,寫在try裏面,判斷網站的響應狀態,若是未響應拋出異常,執行catch裏面的方法。

import requests
def getHTMLText(url)
    try:
        r=requests.get(url,timeout=30)
        r.raise_for_status()    #若是狀態不是200,引起HTTPError異常
        r.encoding=r.apparent_encoding
        return r.text
    except:
        return "產生異常"
if _name_=="_main_":
    url="http://www.baidu.com"
    print(getHTMLText(url))

 

HTTP協議

url格式:http://host[:port][path]

port:端口號,缺省端口爲80

path:請求資源的路徑

url是經過HTTP協議存取資源的Internet路徑,一個URL對應一個數據資源

HTTP協議對資源的操做

方法 說明

GET 請求獲取URL位置的資源

HEAD 請求獲取URL位置資源的響應消息報告,即獲取該資源的頭部信息

POST 請求向URL位置的資源後附加新的數據

PUT 請求向URL位置儲存一個資源,覆蓋原URL位置的資源

PATCH 請求局部更新URL位置的資源,即改變該處資源的部份內容

DELETE 請求刪除URL位置存儲的資源

理解PATCH和PUT的區別!

head和get是最經常使用到的!

相關文章
相關標籤/搜索