千家信息网

python中bs4解析和xpath解析的示例分析

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家分享的是有关python中bs4解析和xpath解析的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。bs4解析原理:1.实例化一个BeautifulS
千家信息网最后更新 2026年11月03日python中bs4解析和xpath解析的示例分析

这篇文章给大家分享的是有关python中bs4解析和xpath解析的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

    bs4解析

    原理:

    1.实例化一个BeautifulSoup对象,并且将页面源码数据加载到该对象中

    2.通过调用BeautifulSoup对象中相关的属性或者方法进行标签定位和数据提取

    如何实例化BeautifulSoup对象:

    from bs4 import BeautifulSoup

    BeautifulSoup(参数一,参数二)

    参数一为文件描述符,参数二为解析器,一般为’lxml’

    一对象的实例化:

    1.将本地的html文档中的数据加载到该对象中

    fp = open( './test.html','r',encoding='utf-8')soup=BeautifulSoup(fp,'lxml')

    2.将互联网上获取的页面源码加载到该对象中

    page_text =response.textsoup=BeatifulSoup(page_text,'lxml')

    soup指初始化的BeautifulSoup对象

    用于数据解析的方法和属性:

    1.soup.tagName:返回的是文档中第一次出现的tagName对应的标签

    2.soup.find():

    (1).find( ‘tagName’):等同于soup.tagName

    (2).属性定位:soup.find(‘div’,class_/id/或者其他属性=‘song’)

    定位到< div class="song">/< div id="song">的标签下

    class如果没有加_则代表关键字

    3.soup.find_all(‘tagName’):返回符合要求的所有标签(列表)

    soup对象:

    4.select:

    - select(‘某种选择器(id,class,标签…选择器)’),返回的是一个列表。

    标签什么都不加,class前面加. id前面加#

    层级选择器:

    >表示的是一个层级;空格表示的多个层级

         soup.select( '.tang > ul > li > a')      soup.select( '.tang >ul a')     结果为:[清明时节雨纷纷,路上行人欲断魂,借问酒家何处有,牧童遥指杏花村,     秦时明月汉时关,万里长征人未还,但使龙城飞将在,不教胡马度阴山,     歧王宅里寻常见,崔九堂前几度闻,正是江南好风景,落花时节又逢君,     杜甫,     杜牧,    凤凰台上凤凰游,凤去台空江自流,吴宫花草埋幽径,晋代衣冠成古丘]

    5.获取标签之间的文本数据:

    -soup.a.text/string/get_text()

    -text/get_text():可以获取某一个标签中所有的文本内容

    -string:只可以获取该标签下面直系的文本内容

    6.获取标签中属性值:

    soup.a[‘属性值’]

    print(soup.select( '.tang > ul > li > a') [0]['href'])结果:www.baidu.com

    xpath解析

    最常用且最便捷高效的一种解析方式。通用性。

    xpath解析原理:

    1.实例化一个etree的对象,且需要将被解析的页面源码数据加载到该对象中。

    2调用etree对象中的xpath方法结合着xpath表达式实现标签的定位和内容的捕获。

    实例化一个etree对象:

    from lxml import etree

    -1.将本地的html文档中的源码数据加载到etree对象中:

    etree.parse(filePath)

    -2.可以将从互联网上获取的源码数据加载到该对象中

    etree.HTML( 'page_text')

    xpath( ‘xpath表达式’)

    xpath表达式:(返回一个列表)

    -/:表示的是从根节点开始定位。表示的是一个层级。

    -//:表示的是多个层级。可以表示从任意位置开始定位。

    -属性定位://div[@class=‘song’] tag[@attrname=‘attrvalue’]

    -索引定位://div[@class=‘song’]/p[3]

    索引从1开始的

    取文本:

    • /text()获取的是标签中直系的文本内容

    • //text(标签中非直系的文本内容(所有的文本内容)

    取属性:

    • /@attrName

    • eg:/img/@src

    • ./表示定位到当前位置(局部解析)

    多个xpath之间用|分割:

    • tree.xpath(’//div[@class=‘song’]/p[3] | //div[@class=‘song’]’)

    感谢各位的阅读!关于"python中bs4解析和xpath解析的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

    对象 标签 定位 内容 属性 数据 文本 实例 层级 源码 参数 时节 凤凰 多个 文档 方法 表达式 页面 选择 示例 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司怎么样 科技互联网项目 涨乐互联网科技 互联网金融公司科技 润盈互联网科技 中国互联网金融科技基金 银川新华互联网科技学校地址 哈尔滨屹滨互联网科技有限公司 消费医药和互联网科技 链环科技传统企业怎么转型互联网 工业互联网展湾科技股份有限公司 产业互联网科技服务公司 扫呗互联网科技有限公司 广西科技产业互联网是什么 兰石爱特工业互联网科技分公司 同城互联网络科技 玉溪新华互联网科技怎么选 数字互联网科技有限公司 宁波允成互联网科技有限公司 小牛互联网科技有限公司地址 互联网通讯科技 美国互联网科技 互联网 科技创业 恒银科技与互联网金融 字节跳动和互联网科技 来此购互联网科技有限公司 浙江互联网科技研学营 沐思想互联网科技有限公司 广州百诚互联网科技有限公司官网 山东大美朱楼互联网科技有限公司
    0