scrapy 选择html,选择器(selector)

Scrapy选择器构建于 lxml 库之上:

- xpath

- css

- 正则

构造选择器

---------

- Selector(text=xxx)

- Selector(response=xxx)

以 `text` 或 `response` 构造。

~~~

$ scrapy shell

>>> from scrapy.selector import Selector

>>> from scrapy.http import HtmlResponse

~~~

以文字构造:

~~~

>>> Selector(text='hello world')

>>> body = '

good'

>>> Selector(text=body).xpath('//span/text()').extract()

['good']

~~~

以response构造:

~~~

>>> response = HtmlResponse(url='http://example.com', body=body)

>>> Selector(response=response).xpath('//span/text()').extract()

['good']

~~~

简化

----

- `response.selector`

- `response.selector.xpath()` | `response.selector.css()`

- `response.xpath()` | `response.css()`

为方便使用,response 对象以 `.selector` 属性提供了一个 selector。

`response.selector.xpath` 快捷方式:`response.xpath`

`response.selector.css` 快捷方式:`response.css`

正则

--------

选择器还提供了正则作为补充。

如:xpath 中的 `contains()` 、`starts-with()` 函数无法满足需求是,可以使用正则 `test()` 方法

~~~

sel.xpath('//li[re:test(@class, "item-\d$")]//@href').extract()

~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值