美文网首页
爬虫:css 与 xpath 的区别

爬虫:css 与 xpath 的区别

作者: dex0423 | 来源:发表于2021-02-18 13:30 被阅读0次

1. CSS v.s. XPATH

  • 总的来说,css 的定位效率相较于 xpath 更高,需要使用的代码的数量更少,更简洁美观。
    例如:
多个属性匹配

xpath           -->            //a[@class='name' and value='123']

css             -->            a[.name][value='123']

-----------------------------------------------------------------------------------------------------------------------------------------

拥有某个属性的元素

xpath           -->            //*[@title]

css             -->            *[title]

  • CSS 的适用性相比 XPATH 要更少;
    -- 尤其是在查找 父节点、兄弟节点、模糊匹配 等场景中,一般使用 XPTAH 而不是 CSS;
    -- 详情可以参考下面的对比分析。

2. CSS 和 XPATH 的功能对比

对比项 定位方式 CSS XPATH
常规属性 id #id_keyword //*[@id=‘id关键字‘]
常规属性 class .class_name //*[@class=‘class属性名‘]
常规属性 name [name=‘name关键字‘] //*[@name=‘name关键字‘]
多个属性组合 —— [type=‘type关键字‘][name=‘name关键字‘] //input[@type=‘type关键字‘ and @name=‘name关键字‘]
文本属性 —— 不支持 //*[text()=‘text字符串‘]
层级关系 相对路径 form#form>span>input //form[@id=‘form]/span/input
层级关系 索引 select#nr>option:nth-child(3) //select[@id=‘nr‘]/option[3]
找父节点 —— 不支持 //*[@id=‘id关键字‘]/../..
模糊匹配 模糊匹配text 不支持 //*[contains(text(),'text字符串')]
模糊匹配 模糊匹配某个属性 不支持 /*[contains(@class,'class属性名')]
模糊匹配 模糊匹配以xx开头 不支持 //*[starts-with(@id,'开头字符串')]

相关文章

  • 爬虫:css 与 xpath 的区别

    1. CSS v.s. XPATH 总的来说,css 的定位效率相较于 xpath 更高,需要使用的代码的数量更少...

  • selenium-xpath定位

    XPATH定位 XPATH和CSS选择器最重要的区别是XPATH可以向前和向后查询DOM结构的元素,而CSS选择器...

  • scrapy前了解Xpath

    写爬虫时候节点选择器可以用xpath,css,beautifulsoup。而我们要介绍的是xpath路径写法。xp...

  • 推荐一个智能的 Java 爬虫框架!用起来太爽了!

    介绍 平台以流程图的方式定义爬虫,是一个高度灵活可配置的爬虫平台 特性 支持Xpath/JsonPath/css选...

  • scrapy实战笔记

    一,基础 scrapy优势:异步IO,性能强;内置功能丰富(css,xpath);易扩展爬虫简要步骤:URL分析,...

  • 写个爬虫

    爬虫的流程 一个爬虫的执行过程可以大致分为三个部分: 获取页面内容(html) 使用CSS选择器、XPath、DO...

  • 前端面试每日 3+1 —— 第163天

    今天的知识点 (2019.09.26) —— 第163天 [html] xpath和dom有什么区别? [css]...

  • Python爬虫-Scrapy框架之Scrapy Shell

      背景:我们想要在爬虫中使用xpath、beautifulsoup、正则表达式、css选择器等来提取想要的数据,...

  • xpath和Css定位总结

    Xpath转Css写法图 Xpath等价于css的一些写法 Xpath路径表达式CSS选择器表达式只通过绝对路径、...

  • 爬虫解析库XPath使用

    爬虫解析库XPath使用 1.XPath简介 XPath 是一门在 XML 文档中查找信息的语言。XPath 用于...

网友评论

      本文标题:爬虫:css 与 xpath 的区别

      本文链接:https://www.haomeiwen.com/subject/kkpnuktx.html