python小白学习记录 运用lxml的xpath解析html文件
1 from lxml import etree 2 text = "<div><p>nmsl</p><span>nmsl</span></div>" 3 def htmlstree(text): 4 html = etree.HTML(text) 5 result = etree.tostring(html) 6 print(result) 7 return result.decode('utf-8') 8 #解析html字符串并且会为标签自动加上<html><body></body></html> 9 def parseetree(): 10 parser = etree.HTMLParser(encoding='utf-8') 11 html = etree.parse("index111.html",parser=parser) 12 result = etree.tostring(html,encoding='utf-8').decode("utf-8") 13 print(result) 14 #解析xml 由于某写html标签会不全用普通的xml解析器会出错 如<br/> 所以要指定html解析器 15 if __name__ == '__main__': 16 parseetree()
以上为etree的使用范例
分别解析了html字符串和html文件
from lxml import etree def parseetree():#找到包含onclick和id属性的a标签 parser = etree.HTMLParser(encoding='utf-8') html = etree.parse("index111.html",parser=parser) trs = html.xpath("//a[@onclick][@id]") for tr in trs: result = etree.tostring(tr,encoding='utf-8').decode("utf-8") print(result) def parseetree1():#找到包含onclick和id属性的a标签中的第4个,即[3] parser = etree.HTMLParser(encoding='utf-8') html = etree.parse("index111.html",parser=parser) tr = html.xpath("//a[@onclick][@id]")[3] result = etree.tostring(tr,encoding='utf-8').decode("utf-8") print(result) def parseetree2():#找到包含onclik和id属性的a标签中的id的值 和 文本的值 parser = etree.HTMLParser(encoding='utf-8') html = etree.parse("index111.html",parser=parser) trs = html.xpath("//a[@onclick][@id]/@id") for tr in trs: print(tr) trs2 = html.xpath("//a[@onclick][@id]/text()") for tr in trs2: print(tr) if __name__ == "__main__": parseetree() print("***************") parseetree1() print("***************") parseetree2()
以上为运用xpath来对html进行解析
以下是运行结果
附:https://www.w3school.com.cn/xpath/xpath_syntax.asp xpath语法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具