W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
下面是可用的內(nèi)置響應(yīng)子類(lèi)的列表。您還可以對(duì)響應(yīng)類(lèi)進(jìn)行子類(lèi)化,以實(shí)現(xiàn)您自己的功能。
scrapy.http.
TextResponse
(url[, encoding[, ...]])?TextResponse
? 對(duì)象將編碼功能添加到基 ?Response
? 類(lèi),它只用于二進(jìn)制數(shù)據(jù),如圖像、聲音或任何媒體文件。
?TextResponse
? 對(duì)象支持新的 __init__
方法參數(shù),以及基 ?Response
? 物體。其余功能與 ?Response
? 類(lèi),此處未記錄。
encoding (str) -- 包含用于此響應(yīng)的編碼的字符串。如果創(chuàng)建一個(gè) ?TextResponse
? 對(duì)象,它將轉(zhuǎn)換為使用此編碼編碼的字節(jié)。如果 編碼 是 None
(默認(rèn)),將在響應(yīng)頭和正文中查找編碼。
?TextResponse
? 除了標(biāo)準(zhǔn)之外,對(duì)象還支持以下屬性 ?Response
? 一:
text
響應(yīng)體,作為字符串。
一樣 response.body.decode(response.encoding)
,但結(jié)果在第一次調(diào)用后緩存,因此您可以訪問(wèn) response.text
多次無(wú)額外開(kāi)銷(xiāo)。
注解
str(response.body)
不是將響應(yīng)正文轉(zhuǎn)換為字符串的正確方法:
>>> str(b'body')
"b'body'"
encoding
帶有此響應(yīng)編碼的字符串。按順序嘗試以下機(jī)制來(lái)解決編碼問(wèn)題:
傳入的編碼 __init__
方法 encoding
參數(shù)
在內(nèi)容類(lèi)型HTTP標(biāo)頭中聲明的編碼。如果此編碼無(wú)效(即未知),則忽略它并嘗試下一個(gè)解析機(jī)制。
響應(yīng)正文中聲明的編碼。TextResponse類(lèi)不為此提供任何特殊功能。然而, ?HtmlResponse
? 和 ?XmlResponse
? 上課。
通過(guò)查看響應(yīng)主體推斷出的編碼。這是更脆弱的方法,也是最后一個(gè)嘗試的方法。
selector
A ?Selector
? 使用響應(yīng)作為目標(biāo)的實(shí)例。選擇器在第一次訪問(wèn)時(shí)被惰性地實(shí)例化。
?TextResponse
? 對(duì)象除了支持標(biāo)準(zhǔn)之外還支持以下方法 ?Response
? 一:
xpath
(query)捷徑 TextResponse.selector.xpath(query)
::
response.xpath('//p')
css
(query)捷徑 TextResponse.selector.css(query)
::
response.css('p')
follow
(url, callback=None, method='GET', headers=None, body=None, cookies=None, meta=None, encoding=None, priority=0, dont_filter=False, errback=None, cb_kwargs=None, flags=None)返回A ?Request
? 要跟蹤鏈接的實(shí)例 url
. 它接受與 Request.__init__
方法,但 url
不僅可以是絕對(duì)URL,而且可以是
相對(duì)URL
一 ?Link
? 對(duì)象,例如 鏈接提取器
一 ?Selector
? 對(duì)象 <link>
或 <a>
元素,例如 response.css('a.my_link')[0]
屬性 ?Selector
? (不是選擇器列表),例如。 response.css('a::attr(href)')[0]
或 response.xpath('//img/@src')[0]
見(jiàn) 創(chuàng)建請(qǐng)求的快捷方式 用于示例。
follow_all
(urls=None, callback=None, method='GET', headers=None, body=None, cookies=None, meta=None, encoding=None, priority=0, dont_filter=False, errback=None, cb_kwargs=None, flags=None, css=None, xpath=None)產(chǎn)生 ?Request
? 跟蹤所有鏈接的實(shí)例 urls
. 它接受與 ?Request
? 的 __init__
方法,除了 urls
元素不需要是絕對(duì)URL,它可以是以下任何一個(gè):
相對(duì)URL
一 ?Link
? 對(duì)象,例如 鏈接提取器
一 ?Selector
? 對(duì)象 <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
方法(只有一個(gè) urls
, css
和 xpath
接受)。
注意,當(dāng)經(jīng)過(guò) SelectorList
作為 urls
參數(shù)或使用 css
或 xpath
參數(shù)時(shí),此方法不會(huì)為無(wú)法從中獲取鏈接的選擇器生成請(qǐng)求(例如,沒(méi)有 href
屬性)
json
()2.2 新版功能.
將JSON文檔反序列化為Python對(duì)象。
從反序列化的JSON文檔返回Python對(duì)象。結(jié)果在第一次調(diào)用后被緩存。
scrapy.http.
HtmlResponse
(url[, ...])這個(gè) ?HtmlResponse
? 類(lèi)是的子類(lèi) ?TextResponse
? 它通過(guò)查看HTML添加了編碼自動(dòng)發(fā)現(xiàn)支持 meta http-equiv 屬性。見(jiàn) ?TextResponse.encoding
? .
scrapy.http.
XmlResponse
(url[, ...])這個(gè) ?XmlResponse
? 類(lèi)是的子類(lèi) ?TextResponse
? 它通過(guò)查看XML聲明行添加了編碼自動(dòng)發(fā)現(xiàn)支持。見(jiàn) ?TextResponse.encoding
? .
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: