的实例 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()。