响应子类¶下面是可用的内置响应子类的列表。您还可以对响应类进行子类化,以实现您自己的功能。 文本响应对象¶- classscrapy.http.TextResponse(url[, encoding[, ...]])[源代码]¶
TextResponse 对象将编码功能添加到基 Response 类,它只用于二进制数据,如图像、声音或任何媒体文件。
TextResponse 对象支持新的 __init__ 方法参数,以及基 Response 物体。其余功能与 Response 类,此处未记录。
- 参数
encoding (str) -- 包含用于此响应的编码的字符串。如果创建一个 TextResponse 对象,它将转换为使用此编码编码的字节。如果 编码 是 None (默认),将在响应头和正文中查找编码。
TextResponse 除了标准之外,对象还支持以下属性 Response 一:
- text¶
响应体,作为字符串。 一样 response.body.decode(response.encoding) ,但结果在第一次调用后缓存,因此您可以访问 response.text 多次无额外开销。 注解 str(response.body) 不是将响应正文转换为字符串的正确方法:
>>> str(b'body')
"b'body'"
- encoding¶
带有此响应编码的字符串。按顺序尝试以下机制来解决编码问题: 传入的编码 __init__ 方法 encoding 参数 在内容类型HTTP标头中声明的编码。如果此编码无效(即未知),则忽略它并尝试下一个解析机制。 响应正文中声明的编码。TextResponse类不为此提供任何特殊功能。然而, HtmlResponse 和 XmlResponse 上课。 通过查看响应主体推断出的编码。这是更脆弱的方法,也是最后一个尝试的方法。
- selector¶
A Selector 实例使用响应作为目标。选择器在第一次访问时延迟实例化。
- attributes: Tuple[str, ...]= ('url', 'status', 'headers', 'body', 'flags', 'request', 'certificate', 'ip_address', 'protocol', 'encoding')¶
的元组 str 对象,这些对象包含类的所有公共属性的名称,这些属性也是 __init__ 方法。 当前由以下人员使用 Response.replace() 。
TextResponse 对象除了支持标准之外还支持以下方法 Response 一:
- xpath(query)[源代码]¶
捷径 TextResponse.selector.xpath(query) ::
- css(query)[源代码]¶
捷径 TextResponse.selector.css(query) ::
- 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 要跟踪链接的实例 url . 它接受与 Request.__init__ 方法,但 url 不仅可以是绝对URL,而且可以是 见 创建请求的快捷方式 用于示例。
- 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)[源代码]¶
产生 Request 跟踪所有链接的实例 urls . 它接受与 Request 的 __init__ 方法,除了 urls 元素不需要是绝对URL,它可以是以下任何一个: 此外,
|