笔记-scrapy-Selector

笔记-scrapy-Selector

1.      Selector

scrapy自带文本解析器,支持xpath,css等方法。

1.1.    基础使用

调试时常需要从text中解析数据,使用方法如下:

from scrapy.selector import Selector

page_data = Selector(text=’’,type=’html/xml’)

一般不需要指定type参数。

1.2.    提取内容

Selector.xpath()  返回SelectorList对象

Selector.css()       返回SelectorList对象

SelectorList.extract() 返回List对象

SelectorList.extract_first(default)  返回String对象,可以有默认值,类似dict.get(key, default)

1.3.    xpath选择器语法

1.4.    CCS选择器语法

语法      说明

*     选择所有节点

#container    选择id为container的节点

.container     选择所有class包含container的节点

div,p      选择所有 div 元素和所有 p 元素

li a  选取所有li 下所有a节点

ul + p     选取ul后面的第一个p元素

div#container > ul      选取id为container的div的第一个ul子元素

ul ~p      选取与ul相邻的所有p元素

a[title]   选取所有有title属性的a元素

a[href=”http://baidu.com”]       选取所有href属性为http://baidu.com的a元素

a[href*=”baidu”]   选取所有href属性值中包含baidu的a元素

a[href^=”http”]     选取所有href属性值中以http开头的a元素

a[href$=”.jpg”]      选取所有href属性值中以.jpg结尾的a元素

input[type=radio]:checked       选择选中的radio的元素

div:not(#container)    选取所有id为非container 的div属性

li:nth-child(3)      选取第三个li元素

li:nth-child(2n)    选取第偶数个li元素

a::attr(href)  选取a标签的href属性

a::text    选取a标签下的文本

1.5.    总结

xpath功能强大,比较常用

css不方便一些,在部分情况下比xpath好用

re效率最高,但使用最繁琐。

猜你喜欢

转载自www.cnblogs.com/wodeboke-y/p/10739117.html
今日推荐