python解析html基础操作

这篇具有很好参考价值的文章主要介绍了python解析html基础操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、前提

二、html内容转换

三、元素的获取

1.获取html所有标签节点

2.查找指定标签的所有节点

3.查找指定属性名称的节点

4.查找指定标签名称的内容

5.查找指定标签的父节点

6.查找指定标签的所有属性的值

7.查找指定标签和属性的节点

8.查找指定标签,属性和属性值的节点

9.查找指定标签,有多个属性的节点

10.查找指定标签,单个属性有多个值的节点



一、前提

已获取到html文件,已安装lxml库,元素的获取方式主要通过xpath,并且对xml文件也适用

二、html内容转换

将html的内容转换成字符串

from lxml import etree
#将html文档转换成字符串对象
with open(r"C:\Users\Administrator\Desktop\test_python\html\regression2.html",encoding="utf-8") as f:
    content = " ".join([r.rstrip() for r in f])

三、元素的获取

1.获取html所有标签节点

#查找所有html的所有标签节点,返回结果为列表
html=etree.HTML(content,etree.HTMLParser())
result=html.xpath("//*")
print("result:",result)

python解析html基础操作

2.查找指定标签的所有节点

#查找所有标签名为name的所有节点
html=etree.HTML(content,etree.HTMLParser())
result=html.xpath("//name")
print("result:",result)

python解析html基础操作

3.查找指定属性名称的节点

#查找具有属性值sex的节点
html=etree.HTML(content,etree.HTMLParser())
result=html.xpath("//@sex//..")
print("result:",result)

4.查找指定标签名称的内容

#查找所有标签名为name的内容
html=etree.HTML(content,etree.HTMLParser())
result=html.xpath("//name//text()")
print("result:",result)

python解析html基础操作

5.查找指定标签的父节点

#查找所有标签为updated的父节点,返回结果为列表
html=etree.HTML(content,etree.HTMLParser())
result=html.xpath("//updated/..")
print("table:",result)

python解析html基础操作

6.查找指定标签的所有属性的值

 如果有多个标签名称都为name,则统计他们所有的属性值

#查找所有标签名为name的所有属性值
html=etree.HTML(content,etree.HTMLParser())
result=html.xpath("//name//@*")
print("result:",result)

python解析html基础操作

7.查找指定标签和属性的节点

#查找所有标签名为name,且具有属性sex的所有节点
html=etree.HTML(content,etree.HTMLParser())
result=html.xpath("//name[@sex]")
print("result:",result)

python解析html基础操作

8.查找指定标签,属性和属性值的节点

#查找所有标签名为name,属性sex的值为male的所有节点
html=etree.HTML(content,etree.HTMLParser())
result=html.xpath("//name[@sex='male']")
print("result:",result)

python解析html基础操作

9.查找指定标签,有多个属性的节点

#查找标签名为name,同时具有属性sex="male",age="30"
html=etree.HTML(content,etree.HTMLParser())
result=html.xpath(" //name[contains(@sex,'male') and @age='30']")
print("result:",result)

python解析html基础操作

10.查找指定标签,单个属性有多个值的节点

#查找标签名为name,属性age有多个值,其中有一个值为40
html=etree.HTML(content,etree.HTMLParser())
result=html.xpath('//name[contains(@age,"40")]')
print("result:",result)

python解析html基础操作文章来源地址https://www.toymoban.com/news/detail-488904.html

到了这里,关于python解析html基础操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python os.listdir方法(获取文件夹目录下的内容)

    os.listdir 方法。参数为文件夹路径, 可以返回文件夹下的所有子文件、文件名称, 但不能返回子文件夹下的文件

    2024年02月14日
    浏览(60)
  • Python之html2text,清晰解读HTML内容!

    更多Python学习内容:ipengtao.com 大家好,我是彭涛,今天为大家分享 Python之html2text,清晰解读HTML内容,全文3900字,阅读大约10分钟。 HTML是Web开发中常见的标记语言,但有时我们需要将HTML内容转换为纯文本,以便进行更灵活的处理和分析。在Python中,有一个强大的库叫做 ht

    2024年02月04日
    浏览(34)
  • Windows基础命令:目录和文件操作&文本处理&网络相关操作

    方法一:打开\\\"运行\\\"对话框(Win+R),输入cmd 也可以通过cmd /c 命令和cmd /k 命令的方式来直接运行命令(/c表示执行完命令后关闭cmd窗口;/k表示执行完命令后保留cmd窗口) 方法二:在任务栏直接搜索“cmd” 显示当前目录或改变当前目录 语法规则 (1)显示目录 显示当前驱动

    2024年02月05日
    浏览(43)
  • Python爬虫——BeautifulSoup,获取HTML中文档,标签等内容

    将复杂的HTML文档转换成一个复杂的树形结构,每个结点都是一个Python对象,所有对象可以分为四种: Tag NavigableString BeautifulSoup Comment 首先要引入该函数,再打开相应的html文件读取其中的内容,在使用BeautiSoup对其进行解析,解析的时候要使用相应类型的解析器html.parser bs当中

    2024年02月06日
    浏览(53)
  • 格式转换 ▏Python 实现Word转HTML

    将Word转换为HTML能将文档内容发布在网页上,这样,用户就可以通过浏览器直接查看或阅读文档而无需安装特定的软件。Word转HTML对于在线发布信息、创建在线文档库以及构建交互式网页应用程序都非常有用。 以下是 用 Python 将 Word 转换为 HTML 网页 的攻略,包含两个示 例 。

    2024年02月07日
    浏览(35)
  • Linux :: 【基础指令篇 :: 文件及目录操作:(4)】:: mkdir :: 创建目录:指定路径单个目录创建及一次性创建多级目录

    前言:本篇是 Linux 基本操作篇章的内容! 笔者使用的环境是基于腾讯云服务器:CentOS 7.6 64bit。 学习集: C++ 入门到入土!!!学习合集 Linux 从命令到网络再到内核!学习合集 目录索引: 1. 基本语法及功能 2. 基本使用示例 - - 2.1 当前目录下创建指定新目录 - - 2.2 指定目录下

    2024年02月06日
    浏览(59)
  • 使用Python 实现 PDF 到 HTML 的转换

    PDF 文件是共享和分发文档的常用选择,但提取和再利用 PDF 文件中的内容可能会非常麻烦。而利用 Python 将 PDF 文件转换为 HTML 是解决此问题的理想方案之一,这样做可以增强文档可访问性,使文档可搜索,同时增强文档在不同场景中的实用性。此外,HTML 格式使得搜索引擎能

    2024年04月08日
    浏览(35)
  • C++强制类型转换详解:四种操作符解析与实例演示

      概述: C++中的强制类型转换是实现数据类型间转换的关键机制,包括static_cast、dynamic_cast、const_cast和reinterpret_cast四种。这些操作符适用于不同的场景,通过实例源代码详细阐述了它们的使用方法和步骤。 在C++中,强制类型转换是将一个数据类型的值转换为另一个数据类型

    2024年03月09日
    浏览(57)
  • 掌握终端基础技巧:Linux下的文件和目录复制操作

    在Linux系统中,命令行终端是一个大而高效的工具,让使用者可以通过简单的命令完成各种任务。其中,文件和目录的复制操作是日常使用频率较高的一项操作。本文将介绍Linux下的文件和目录复制基础技巧,帮助您更好地掌握命令行终端的使用。 一、复制文件: 1.cp命令:

    2024年02月08日
    浏览(52)
  • Linux :: 【基础指令篇 :: 文件及目录操作:(6)】:: rmidr / rm:删除空目录、删除非空目录及删除文件指令

    前言:本篇是 Linux 基本操作篇章的内容! 笔者使用的环境是基于腾讯云服务器:CentOS 7.6 64bit。 学习集: C++ 入门到入土!!!学习合集 Linux 从命令到网络再到内核!学习合集 目录索引: 1. rmdir / rm 基本语法及功能 2. rmdir 基本使用测试 (看操作代码) - - 2.1 创建一个空目录

    2024年02月05日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包