lxml 解析xml\html

复制代码
from lxml import etree

# XML文档示例
xml_doc = """
<root>
    <book>
        <title>Python编程指南</title>
        <author>张三</author>
    </book>
    <book>
        <title>Python高级编程</title>
        <author>李四</author>
    </book>
</root>
"""

# 创建ElementTree对象并解析XML文档
root = etree.fromstring(xml_doc)

# 使用XPath定位元素并打印内容
books = root.xpath('//book')
for book in books:
    title = book.xpath('title/text()')[0]
    author = book.xpath('author/text()')[0]
    print(f"书名:{title},作者:{author}")
复制代码
# HTML文档示例
html_doc = """
<html>
<body>
    <h1>标题</h1>
    <p>段落1</p>
    <p>段落2</p>
</body>
</html>
"""

# 创建HTML解析器并解析HTML文档
parser = etree.HTMLParser()
root = etree.fromstring(html_doc, parser)

# 遍历HTML元素并打印内容
for element in root.iter():
    print(element.tag, element.text)
复制代码
from lxml import html
import requests
 
# 发送HTTP请求获取网页内容
response = requests.get('https://example.com')
html_content = response.content
 
# 使用lxml解析HTML内容并提取信息
tree = html.fromstring(html_content)
title = tree.xpath('//title/text()')[0]
paragraphs = tree.xpath('//p/text()')
print('标题:', title)
print('段落:')
for p in paragraphs:
    print(p)
相关推荐
rKWP8gKv79 分钟前
Java微服务性能监控:Prometheus与Grafana集成方案
java·微服务·prometheus
老前端的功夫11 分钟前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
qq_4352879211 分钟前
第9章 夸父逐日与后羿射日:死循环与进程终止?十个太阳同时值班的并行冲突
java·开发语言·git·死循环·进程终止·并行冲突·夸父逐日
小江的记录本13 分钟前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
cui_ruicheng17 分钟前
Linux进程间通信(三):System V IPC与共享内存
linux·运维·服务器
运维全栈笔记31 分钟前
Linux安装配置Tomcat保姆级教程:从部署到性能调优
linux·服务器·中间件·tomcat·apache·web
yaoxin52112338 分钟前
397. Java 文件操作基础 - 创建常规文件与临时文件
java·开发语言·python
dllmayday2 小时前
Linux 上用终端连接 WiFi
linux·服务器·windows
ACP广源盛139246256732 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑
Empty-Filled2 小时前
AI生成测试用例功能怎么测:一个完整实战案例
网络·人工智能·测试用例