正则表达式、xpath、BeautifulSoup和JSONPath的区别?

如题所述

1.正则表达式是进行内容匹配,将符合要求的内容全部获取;xpath()能将字符串转化为标签,它会检测字符串内容是否为标签,但是不能检
测出内容是否为真的标签;Beautifulsoup是Python的一个第三方库,它的作用和 xpath 作用一样,都是用来解析html数据的相比之下,
xpath的速度会快一点,因为xpath底层是用c来实现的
2.三者语法不同,正则表达式使用元字符,将所有获得内容与匹配条件进行匹配,而xpath和bs4将获取的解析后的源码进行按条件筛选,筛选
出想要的标签即根据标签属性来找到指定的标签,之后对标签进行对应内容获取。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-01-13

从处理内容角度和实现语言来说:

    正则表达式:

      处理内容:去查找或替换符合特定规则的字符串

      实现语言:不是一种语言,而是一种通用的技术,规范

        有很多编程语言和工具都支持

          比如

            Python的re

            VSCode中的查找和替换

            等等

    xpath:

      处理内容:匹配html/xml中的元素

      实现语言:不是一种语言,而是一种通用的技术,规范

        很多编程语言和工具都支持

          比如

            Python中的libxml2

            Chrome的开发者工具

            等等

    BeautifulSoup:

      处理内容:处理html或xml,查找/替换等操作

      实现语言:属于Python的一个处理html/xml的解析库

    JSONPath:

      处理内容:把(json格式的)字符串转换为json对象

      实现语言:属于Java的一个json库


我的相关教程,供参考:

    正则

应用广泛的超强搜索:正则表达式

正则表达式应用举例

Python中正则表达式:re模块详解


    XPath

XPath知识总结


吐槽:百度知道的编辑器,真心垃圾,连有序列表的缩进和插入链接都不能很好的支持。

相似回答