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)
相关推荐
切糕师学AI7 小时前
GitBlit 详解:轻量级的纯 Java Git 服务器
服务器·git
牧瀬クリスだ7 小时前
深入解析wait与notify及多线程实战案例
java
AI人工智能+电脑小能手7 小时前
【大白话说Java面试题 第97题】【Mysql篇】第27题:说说分库与分表的设计?
java·开发语言·数据库·分布式·mysql·算法
stolentime7 小时前
Mailwarm 2.0 邮件送达率提升效果实测
运维·网络·网易邮箱大师
许彰午7 小时前
在PowerBuilder里手写XML序列化——没有现成库的年代怎么拼报文
xml·linux·服务器
志栋智能7 小时前
超自动化安全的文化挑战:如何推动安全团队变革?
运维·网络·人工智能·安全·自动化
古月方枘Fry7 小时前
123456
网络·智能路由器
网络研究院7 小时前
新型“HTTP/2炸弹”攻击可在数秒内耗尽服务器内存
服务器·网络协议·攻击·服务·http/2
梦奇不是胖猫7 小时前
[ 计算机网络 | 第四章 ] 网络层 04 IP的局限与扩展
网络·网络协议·tcp/ip·计算机网络
飞函安全7 小时前
飞函Webhook能力如何帮助企业把监控告警、设备异常第一时间推到对应群组
网络·数据库·安全·私有化im