爬虫常用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. 参考资料
- 紫云飞博文
- CSS选择器参考手册
转载于:https://www.cnblogs.com/strivepy/p/10432619.html
爬虫常用Xpath和CSS3选择器对比相关推荐
- 火车浏览器爬虫常用xpath
火车浏览器爬虫常用xpath 下一页 //a[contains(text(), '下页')] 有标题.有时间:url,title,date,sign,create_date的mysql存储 INSER ...
- 四种Python爬虫常用的定位元素方法对比,你偏爱哪一款?
作者:陈熹 来源:早起Python 在使用Python本爬虫采集数据时,一个很重要的操作就是如何从请求到的网页中提取数据,而正确定位想要的数据又是第一步操作. 本文将对比几种 Python 爬虫中比较 ...
- 常用的一些 CSS3 选择器
*:通用元素选择器 * { margin: 0; padding: 0; } *选择器是选择页面上的全部元素,上面的代码作用是把全部元素的margin和padding设为0,最基本的清除默认CSS样式 ...
- python爬虫:scrapy框架xpath和css选择器语法
Xpath基本语法 一.常用的路径表达式: 表达式 描述 实例 nodename 选取nodename节点的所有子节点 //div / 从根节点选取 /div // 选取所有的节点,不考虑他们的位置 ...
- 爬虫之xpath语法-常用节点选择语法
爬虫之xpath语法-常用节点选择语法 可以通过通配符来选取未知的html.xml的元素 1.1 选取未知节点的语法 通配符 描述 * 匹配任何元素节点. node() 匹配任何类型的节点. 1.2 ...
- Python爬虫:Xpath语法笔记
Python爬虫:Xpath语法笔记 一.选取节点 常用的路劲表达式: 表达式 描述 实例 nodename 选取nodename节点的所有子节点 xpath('//div') 选取了div节点的 ...
- WebMagic功能——XPath、CSS选择器、正则表达式 || 抽取元素API、获取结果API || 获取链接||使用Pipeline保存结果
WebMagic功能 实现PageProcessor 抽取元素Selectable WebMagic里主要使用了三种抽取技术:XPath.正则表达式和CSS选择器.另外,对于JSON格式的内容,可使用 ...
- python的爬虫库_python做爬虫常用库
python做爬虫常用库 一.总结 一句话总结: urllib:一系列用于操作URL的功能. requests:基于 urllib 编写的,阻塞式 HTTP 请求库,发出一个请求,一直等待服务器响应后 ...
- CSS3 选择器(转)
http://www.w3school.com.cn/cssref/css_selectors.asp css的选择器,做个记录,在爬虫选择元素里很多要用到. CSS3 选择器 在 CSS 中,选择器 ...
最新文章
- 一篇叫做决心书的文章
- 猛男把400+条猫咪叫声做成数据集,可识别猫咪的3种不同状态丨开源
- 修改服务器名后,sql server的配置处理
- typora高级设置字体_Mint(Linux)系统设置优化及其常用软件安装笔记
- 【机器视觉】 Halcon设置自动保存
- Go netpoller 网络模型之源码全面解析
- 毕业设计论文封面模板
- 菜鸟python实例_菜鸟学Python,双手奉上老司机给上路新手总结的Python实战问题…...
- 协议森林1——小喇叭开始广播:以太网与WiFi
- 9.支撑向量机SVM
- 关于谷哥传奇工程师Jeff Dean的笑话
- Pisces-ORM的思考与设计
- 【物联家居】第四章:传输协议--mqtt配置与测试
- springAop遇到的问题
- Adobe Illustrator AI撤回和取消撤回
- C语言程序设计博客作业02
- 计算机科学文科学士,计算机科学文科学士与理科硕士
- activiti工作流在线表单设计功能(activiti + ueditor + Ueditor Web Form De
- 深度学习Pytorch框架
- Visual Studio 2022大面积错误无法打开源文件