xpath和cssselector

xpath

节点:

1. 父节点

2. 子节点

3. 同胞节点,或兄弟节点

4. 先辈节点

5. 后代节点

语法:

1. article 选取所有artical元素的所有子节点

2. /article 选取根元素article

3. article/a 选取所有属于article的子元素的a元素

4. //div 选取所有div子元素(不论出现在文档任何地方)

5. artivle//div 选取所有属于article元素的后代的div元素,不管他出现在article元的之下的何位置

6. //@class 选取所有名为class的属性

语法--谓语

1. /article/div[1] 选取属于article子元素的第一个div元素

2. /article/div[last()] 选取属于article子元素的最后一个div元素

3. /article/div[last()-1] 选取属于article子元素的倒数第二个div元素

4. //div[@lang] 选取所有拥有lang属性的div元素

5. //div[@lang='eng'] 选取所有lang属性为eng的div元素

其他用法

1. /div/* 获取属于div元素的所有子节点

2. //* 获取所有元素

3. //div[@*] 获取所有嗲属性的title元素

4. //div/a| //div/p 获取所有属于div的a元素和p元素

5. //span | //ul 获取文档中的span和ul元素

6. article/div/p | //span 选取所有属于article元素的div元素的p元素以及文档中所有的span元素

7. //span[contains(@class,'vote-post-up')] 寻找class属性中包含vote-post-up的span元素

###################################################################

 

css选择器

* 选择所有节点

#container 选择id为container的节点

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

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://jobbole.com"] 选取所有href属性为"http://jobbole.com"的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元素

tr:nth-child(2n) 选择第偶数个tr

例子:

1.response.css(".entry-header h1::text").extract() 提取文本

2. response.css(".url a::attr(href)").extract() 提取某个属性的值

转载于:https://my.oschina.net/u/3822958/blog/1834773

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值