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)
相关推荐
学到老活到老几秒前
方法执行完了,对象为什么还占着内存?
java·jvm
用户7771298509121 分钟前
常见的同义方法的区别:增加类和删除类
java·后端
十年Java程序媛9 分钟前
Java this 与 super 详解|继承高频踩坑 + 面试题整理
java·spring boot·面试
用户77712985091214 分钟前
Stream流式使用
java
旋律41415 分钟前
List、Set、Map:三个装数据的容器,到底啥区别?怎么遍历?
java·后端
hz5678915 分钟前
企业视频会议系统方案:总部与分支机构高效协同如何落地?
运维·服务器·网络·安全·实时音视频·信息与通信
Wang's Blog18 分钟前
Java 项目实战: 交友项目 - 回顾和今日内容介绍
java·开发语言·交友
工具派22 分钟前
不重写一行老代码:给 Spring Boot 系统加一层 AI 能力
java·人工智能·spring boot
三垣网安26 分钟前
漏洞实战|高校虚拟实验平台报错型 SQL 注入漏洞复现
网络·经验分享·sql·安全·web安全·网络安全·水平越权
大雄很用心27 分钟前
Java 数据结构基础:栈、堆与 Deque
java