爬虫常用Xpath和CSS3选择器对比

爬虫常用Xpath和CSS3选择器对比

1. 简介

  CSS是来配合HTML工作的,和Xpath对比起来,CSS选择器通常都比较短小,但是功能不够强大。CSS中的空白符' 'Xpath'//'都表示当前元素的所有后代(子孙)元素。

2. 对比

  对于元素(标签)的操作,Xpath和CSS基本上都能通过各自的语法达到相同的动作,并且爬虫中使用的都是一些相对简洁明了的操作。

 结果  CSS3选择器  Xpath表达式
所有元素 *  //*
所有p元素 p  //p
所有p元素的子元素(只选一代) p>*  //p/*
所有父元素为div的p元素 div p //div//p
所有id为foo的元素 #foo   //*[@id="foo"]
所有class为foo的元素 .foo //*[@class="foo"]
拥有某个属性的元素 *[title] //*[@title]
title属性为target的所有元素 *[title="target"] //*[@title="target"]
所有p元素的第一个子元素 p>*:first-child  //p/*[0] 
所有拥有a元素的p元素 无法实现 //p[a]
p元素的下一个兄弟元素 p+* //p/following-sibling::*[0]

 3. 参考资料

 

posted @ 2019-02-25 18:43  StrivePy  阅读(1254)  评论(0编辑  收藏  举报