Python 解析 html

news/2024/12/22 3:01:08/

一、场景分析

假设有如下 html 文档:

写一段 python 脚本,解析出里面的数据,包括经度维度。

<div class='storelist'><ul><li lng="100.111111" lat="10.111111"><h4>联盟店1</h4><p><br />X市Y区Z街道 1000 号</p></li><li lng="101.111111" lat="11.111111"><h4>联盟店2</h4><p><br />X市Y区Z街道 1001 号</p></li><li lng="102.111111" lat="12.111111"><h4>联盟店3</h4><p><br />X市Y区Z街道 1002 号</p></li></ul>
</div>

二、步骤

1、安装 BeautifulSoup4 库

python">pip install bs4
或者
pip install beautifulsoup4

2、脚本内容

store.py 脚本内容如下:

python">from bs4 import BeautifulSoup# 官方文档:https://beautifulsoup.readthedocs.io/zh-cn/v4.4.0/#id14# 输入文档
input_path = r"C:\Users\Administrator\Desktop\py\html\store.html"
# 输出文档
output_path = r"C:\Users\Administrator\Desktop\py\html\data.txt"
# 以 append 追加方式打开输出文档
output_file = open(output_path, 'a', encoding='utf-8')# 打开 html 输入文档,并使用 Python 标准库 html.parser 解析成 BeautifulSoup 对象
soup = BeautifulSoup(open(input_path, 'r', encoding='utf-8'), 'html.parser')# 搜索文档树,获取到所有 li TAG 组成的数组
li_array = soup.find_all('li')# 遍历这个数组,并往输出文档输出信息
for i, li in enumerate(li_array):# print(li.contents)output_file.write('\n'+str(i+1)+'、'+li.contents[1].text)output_file.write('\n 经度:'+li['lng'])output_file.write('\n 维度:'+li['lat'])output_file.write('\n 名称:'+li.contents[1].text)output_file.write('\n 地址:'+li.contents[3].text.strip())output_file.close()

其中,contents 属性可以将 tag 的子节点以列表的方式输出:

python">print(li.contents)

 我们可以用列表索引来获取它的某一个元素

li.contents[1] 表示 <h4>联盟店X</h4> 获取标签里面的内容,就是 li.contents[1].text

li.contents[3] 表示 <p></p> 因为 p 后面有换行,所以用 strip() 函数去掉换行符 

不然输出结果就会变成

3、运行

python">py store.py

4、输出结果

python">1、联盟店1经度:100.111111维度:10.111111名称:联盟店1地址:X市Y区Z街道 1000 号
2、联盟店2经度:101.111111维度:11.111111名称:联盟店2地址:X市Y区Z街道 1001 号
3、联盟店3经度:102.111111维度:12.111111名称:联盟店3地址:X市Y区Z街道 1002 号

三、拥抱AI

像这种简单的脚本程序,现在都可以叫 AI (比如豆包) 帮我们写:


http://www.ppmy.cn/news/1534681.html

相关文章

Python Web 与量子计算

Python Web 与量子计算 目录 ⚛️ 量子计算的基础&#x1f40d; 使用 Python 调用量子计算&#x1f310; 实现量子算法的 Web 接口&#x1f6e0;️ 实战案例&#xff1a;量子计算在金融领域的应用 1. ⚛️ 量子计算的基础 量子计算是利用量子力学原理进行信息处理的一种新兴…

【数据结构】堆(Heap)详解

在深入了解堆这一重要的数据结构之前&#xff0c;不妨先回顾一下我之前的作品 ——“二叉树详解”。 上篇文章&#x1f449;剖析二叉树&#xff08;Binary Tree&#xff09; 二叉树作为一种基础的数据结构&#xff0c;为我们理解堆以及其他更复杂的数据结构奠定了坚实的基础。它…

CSS相关属性和显示模式

1. CSS相关属性 1.1 常见控制属性 属性名 作用 案例 width 宽度 width : 100px; height 高度 height : 100px; background-color 背景色 background-color : red; 1.2 文字控制属性 属性名 作用 案例 font-size 字体大小 font-size:30px; font-weight 字体…

电脑录屏怎么录视频和声音?苹果macOS、windows10都可以用的原神录屏工具来啦

在当今数字化时代&#xff0c;电脑录屏已经成为一项非常实用的技能&#xff0c;无论是制作教学视频、记录游戏精彩瞬间&#xff0c;还是进行线上会议演示&#xff0c;都离不开高质量的录屏。那么&#xff0c;电脑录屏怎么录视频和声音呢&#xff1f;今天就为大家详细介绍一下&a…

二、AI大模型(Transformer架构)

Transformer架构 Transformer架构是目前大多数AI大模型的基础&#xff0c;它通过**自注意力机制&#xff08;Self-Attention Mechanism&#xff09;**解决了序列处理中的长距离依赖问题。相比传统的递归神经网络&#xff08;RNN&#xff09;和长短期记忆网络&#xff08;LSTM&…

C++ 语言特性20 - noexcept 关键字

一&#xff1a;概述 noexcept 是 C11 引入的一个关键字&#xff0c;用来指明一个函数在运行时是否不会抛出异常。它主要用于提高代码的安全性和性能&#xff0c;在某些场合可以帮助编译器进行优化。 1. noexcept 的语法 //1. 标记函数为 noexcept&#xff0c; 在这种情况下&…

python-鸡尾酒疗法/图像相似度/第n小的质数

一&#xff1a;鸡尾酒疗法 题目描述 鸡尾酒疗法&#xff0c;原指“高效抗逆转录病毒治疗”&#xff08;HAART&#xff09;&#xff0c;由美籍华裔科学家何大一于 1996 年提出&#xff0c;是通过三种或三种以上的抗病毒药物联合使用来治疗艾滋病。该疗法的应用可以减少单一用药产…

鸿蒙HarmonyOS开发生态

1、官网 华为开发者联盟-HarmonyOS开发者官网&#xff0c;共建鸿蒙生态 2、开发工具IDE下载及使用 https://developer.huawei.com/consumer/cn/ 3、使用帮助文档 4、发布到华为应用商店 文档中心