scrapy框架中选择器的使用

Selector选择器

Scrapy框架提供了自己的数据解析方法,即Selector(选择器)。

1、Selector(选择器)是基于lxml来构建的,支持XPath、CSS选择器以及正则表达式,功能全面,解析速度和准确度非常高。

2、Selector(选择器)是一个可以独立使用模块。 直接导入模块就可实例化使用。

==========================================================================

XPath选择器

在Scrapy框架中使用response.selector属性返回内容相当于response的body构造了一个Selector对象。
Selector对象可以调用xpath()方法实现信息的解析提取。
1、在xpath()后使用extract()可以返回所有的元素结果。
2、若xpath()有问题,那么extract()会返回一个空列表。

3、在xpath()后使用extract_first()可以返回第一个元素结果。

==========================================================================

CSS选择器

css选择器在Scrapy框架中使用与上面的xpth使用方法差不多,都是在response.selector属性返回的Selector对象来去调用并使用,下面的取值方式也一样
1、在css()后使用extract()可以返回所有的元素结果。
2、若css()有问题,那么extract()会返回一个空列表。

3、在css()后使用extract_first()可以返回第一个元素结果。

==========================================================================

re正则匹配

在scrapy中的response不可以直接使用正则re()和re_first()方法。
只能通过response先去调用xpth或selector的基础上去使用

例如:
response.xpath("//head").re("<title>(.*?)</title>")
response.selector.re("<a .*?>(.*?)</a>")

猜你喜欢

转载自blog.csdn.net/levon2018/article/details/80503223