scrapy中request與response對象屬性介紹

原文

Request 對象

Request構造器方法的參數列表:
    Request(url [, callback=None, method='GET', headers=None, body=None,cookies=None, meta=None, encoding='utf-8', priority=0,dont_filter=False, errback=None, flags=None])
各參數說明:
    url(必選)
        請求頁面的url地址,bytes或str類型。
    callback
        頁面解析函數,Callback類型,Request請求對象的頁面下載完成後,由該參數指定的頁面解析函數解析頁面,如果未傳遞該參數,默認調用Spider的parse方法。
    method
        HTTP請求的方法,默認爲‘GET’。
    headers
        HTTP請求的頭部字典,dict 類型。
    body
        HTTP請求的正文,bytes 或 str類型。
    cookies
        Cookie信息字典,dict 類型。
    meta
        Request 的元數據字典,dict 類型,用於給框架中其他組件傳遞信息,比如中間件 Item Pipeline。其他組件可以使用Request 對象的 meta 屬性訪問該元數據字典 (request.meta), 也用於給響應處理函數傳遞信息。
    encoding
        url 和 body 參數的編碼默認爲'utf-8'。如果傳入的url或body參數是str 類型,就使用該參數進行編碼。
    priority
        請求的優先級,默認值爲0,優先級高的請求優先下載。
    dont_filter
        默認情況下(dont_filter=False),對同一個url地址多次提交下載請求,後面的請求會被去重過濾器過濾(避免重複下載)。如果將該參數置爲True,可以使請求避免被過濾,強制下載。例如:在多次爬取一個內容隨時間而變化的頁面時(每次使用相同的url),可以將該參數設置爲True。
    errback
        請求出現異常或出現HTTP錯誤時(如404頁面不存在)的回調函數。

Response 對象

概念:
    Response 對象用來描述一個HTTP響應,Response只是一個基類,根據響應內容的不同有如下子類:
        TextResponse
        HtmlResponse
        XmlResponse
    當一個頁面下載完成時,下載器依據HTTP響應頭部中的Content-Type信息創建某個Response的子類對象。通常一般是HtmlResponse子類。
HtmlResponse 對象的屬性及方法:
    url
        HTTP 響應的url地址,str 類型。
    status
        HTTP 響應的狀態碼,int 類型。
    headers
        HTTP 響應的頭部,dict 類型。可以調用get或getlist方法對其進行訪問。
    body
        HTTP 響應正文,bytes 類型。
    text
        文本形式的HTTP響應正文,str 類型,它是由 response.body 使用 response.encoding 解碼得到的。
            response.text = response.body.decode(response.encoding)
    encoding
        HTTP 響應正文的編碼,它的值可能是從HTTP響應頭部或正文中解析出來的。
    request
        產生該HTTP 響應的Request對象。
    meta
        即 response.request.meta, 在構造 Request對象時,可將要傳遞給響應處理函數的信息通過meta參數傳入;響應處理函數處理響應時,通過response.meta 將信息取出。
    selector
        Selector 對象用於在Response 中提取數據。
    xpath(query)
        使用XPath選擇器在Response中提取數據;它是 response.selector.xpath 方法的快捷方式。
    css(query)
        使用 CSS選擇器在Response中提取數據;它是 response.selector.css方法的快捷方式。
    urljoin (url)
        用於構造絕對 url 。當傳入的url參數是一個相對地址時,根據response.url 計算出相應的絕對 url。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章