99re热视频这里只精品,久久久天堂国产精品女人,国产av一区二区三区,久久久精品成人免费看片,99久久精品免费看国产一区二区三区

scrapy 2.3 文本響應對象

2021-06-10 09:53 更新

下面是可用的內置響應子類的列表。您還可以對響應類進行子類化,以實現(xiàn)您自己的功能。

        文本響應對象

classscrapy.http.TextResponse(url[, encoding[, ...]])

?TextResponse? 對象將編碼功能添加到基 ?Response? 類,它只用于二進制數(shù)據(jù),如圖像、聲音或任何媒體文件。

?TextResponse? 對象支持新的 __init__ 方法參數(shù),以及基 ?Response? 物體。其余功能與 ?Response? 類,此處未記錄。

參數(shù)

encoding (str) -- 包含用于此響應的編碼的字符串。如果創(chuàng)建一個 ?TextResponse? 對象,它將轉換為使用此編碼編碼的字節(jié)。如果 編碼 是 None (默認),將在響應頭和正文中查找編碼。

?TextResponse? 除了標準之外,對象還支持以下屬性 ?Response? 一:

text

響應體,作為字符串。

一樣 response.body.decode(response.encoding) ,但結果在第一次調用后緩存,因此您可以訪問 response.text 多次無額外開銷。

注解

str(response.body) 不是將響應正文轉換為字符串的正確方法:

>>> str(b'body')
"b'body'"
encoding

帶有此響應編碼的字符串。按順序嘗試以下機制來解決編碼問題:

  1. 傳入的編碼 __init__ 方法 encoding 參數(shù)

  2. 在內容類型HTTP標頭中聲明的編碼。如果此編碼無效(即未知),則忽略它并嘗試下一個解析機制。

  3. 響應正文中聲明的編碼。TextResponse類不為此提供任何特殊功能。然而, ?HtmlResponse? 和 ?XmlResponse? 上課。

  4. 通過查看響應主體推斷出的編碼。這是更脆弱的方法,也是最后一個嘗試的方法。

selector

A ?Selector? 使用響應作為目標的實例。選擇器在第一次訪問時被惰性地實例化。

?TextResponse? 對象除了支持標準之外還支持以下方法 ?Response? 一:

xpath(query)

捷徑 TextResponse.selector.xpath(query) ::

response.xpath('//p')
css(query)

捷徑 TextResponse.selector.css(query) ::

response.css('p')
follow(urlcallback=Nonemethod='GET'headers=Nonebody=Nonecookies=Nonemeta=Noneencoding=Nonepriority=0dont_filter=Falseerrback=Nonecb_kwargs=Noneflags=None)

返回A ?Request? 要跟蹤鏈接的實例 url . 它接受與 Request.__init__ 方法,但 url 不僅可以是絕對URL,而且可以是

  • 相對URL

  • 一 ?Link? 對象,例如 鏈接提取器

  • 一 ?Selector? 對象 <link> 或 <a> 元素,例如 response.css('a.my_link')[0]

  • 屬性 ?Selector? (不是選擇器列表),例如。 response.css('a::attr(href)')[0] 或 response.xpath('//img/@src')[0]

見 創(chuàng)建請求的快捷方式 用于示例。

follow_all(urls=Nonecallback=Nonemethod='GET'headers=Nonebody=Nonecookies=Nonemeta=Noneencoding=Nonepriority=0dont_filter=Falseerrback=Nonecb_kwargs=Noneflags=Nonecss=Nonexpath=None)

產生 ?Request? 跟蹤所有鏈接的實例 urls . 它接受與 ?Request? 的 __init__ 方法,除了 urls 元素不需要是絕對URL,它可以是以下任何一個:

  • 相對URL

  • 一 ?Link? 對象,例如 鏈接提取器

  • 一 ?Selector? 對象 <link> 或 <a> 元素,例如 response.css('a.my_link')[0]

  • 屬性 ?Selector? (不是選擇器列表),例如。 response.css('a::attr(href)')[0] 或 response.xpath('//img/@src')[0]

此外, css 和 xpath 參數(shù)可用于在中執(zhí)行鏈接提取 follow_all 方法(只有一個 urls , css 和 xpath 接受)。

注意,當經過 SelectorList 作為 urls 參數(shù)或使用 css 或 xpath 參數(shù)時,此方法不會為無法從中獲取鏈接的選擇器生成請求(例如,沒有 href 屬性)

json()

2.2 新版功能.

將JSON文檔反序列化為Python對象。

從反序列化的JSON文檔返回Python對象。結果在第一次調用后被緩存。

HTMLResponse對象

classscrapy.http.HtmlResponse(url[, ...])

這個 ?HtmlResponse? 類是的子類 ?TextResponse? 它通過查看HTML添加了編碼自動發(fā)現(xiàn)支持  meta http-equiv 屬性。見 ?TextResponse.encoding? .

XmlResponse對象

classscrapy.http.XmlResponse(url[, ...])

這個 ?XmlResponse? 類是的子類 ?TextResponse? 它通過查看XML聲明行添加了編碼自動發(fā)現(xiàn)支持。見 ?TextResponse.encoding? .

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號