的实例 Selector 是一个包装响应,用于选择其内容的某些部分。
response 是一个 HtmlResponse 或 XmlResponse 将用于选择和提取数据的对象。
text 是Unicode字符串或UTF-8编码文本,用于 response 不可用。使用 text 和 response 一起是未定义的行为。
type 定义选择器类型,它可以是 "html" , "xml" 或 None (默认)。
如果 type 是 None ,选择器根据 response 类型(见下文),或默认为 "html" 以防与 text .
如果 type 是 None 和A response 如果传递,则从响应类型推断选择器类型,如下所示:
否则,如果 type 设置后,选择器类型将被强制,不会发生检测。
- xpath(query, namespaces=None, **kwargs)[源代码]¶
查找与xpath匹配的节点 query 并将结果作为 SelectorList 将所有元素展平的实例。列表元素实现 Selector 接口也是如此。
query 是包含要应用的XPath查询的字符串。
namespaces 是可选的 prefix: namespace-uri 将附加前缀的映射(dict)映射到 register_namespace(prefix, uri) . 相反 register_namespace() ,这些前缀不会保存以备将来调用。
可以使用任何其他命名参数来传递xpath表达式中xpath变量的值,例如::
selector.xpath('//a[href=$url]', url="http://www.example.com")
注解
为了方便起见,此方法可以调用为 response.xpath()
- css(query)[源代码]¶
应用给定的css选择器并返回 SelectorList 实例。
query 是包含要应用的CSS选择器的字符串。
在后台,使用 cssselect 类库与运行 .xpath() 方法。
注解
为了方便起见,此方法可以调用为 response.css()
- get()[源代码]¶
序列化并返回单个Unicode字符串中匹配的节点。未引用编码内容的百分比。
参见: extract()和extract_first()。
- attrib¶
返回基础元素的属性字典。
参见: 选择元素属性 .
- re(regex, replace_entities=True)[源代码]¶
应用给定的regex并返回带有匹配项的Unicode字符串列表。
regex 可以是已编译的正则表达式,也可以是将使用 re.compile(regex) .
默认情况下,字符实体引用替换为其相应的字符(除了 & 和 < )经过 replace_entities 作为 False 关闭这些替换。
- re_first(regex, default=None, replace_entities=True)[源代码]¶
应用给定的regex并返回第一个匹配的unicode字符串。如果没有匹配项,则返回默认值 (None 如果未提供参数)。
默认情况下,字符实体引用替换为其相应的字符(除了 & 和 < )经过 replace_entities 作为 False 关闭这些替换。
- register_namespace(prefix, uri)[源代码]¶
注册要在此中使用的给定命名空间 Selector . 如果不注册命名空间,则无法从非标准命名空间中选择或提取数据。见 XML响应的选择器示例 .
- remove_namespaces()[源代码]¶
删除所有名称空间,允许使用不含名称空间的xpaths遍历文档。见 正在删除命名空间 .
- __bool__()[源代码]¶
返回 True 如果选择了任何真实内容或 False 否则。换句话说,布尔值 Selector 由它选择的内容给出。
- getall()[源代码]¶
序列化并返回unicode字符串的1元素列表中匹配的节点。
为了保持一致性,这个方法被添加到选择器中;它对于选择器列表更有用。参见: extract()和extract_first()。