如何使用Python从HTML文件中提取address标签内的地址信息
你可以用Python的BeautifulSoup库完成HTML结构化解析和地址提取,这是处理这类需求最稳定的方案,避免用正则匹配可能出现的标签格式不兼容问题。
第一步:安装依赖库
首先安装解析需要的第三方库:
pip install beautifulsoup4 lxml
第二步:处理代码示例
你可以参考下面的完整示例,修改对应文件路径即可直接运行:
from bs4 import BeautifulSoup # 读取本地HTML文件 with open("你的目标HTML文件路径.html", "r", encoding="utf-8") as f: html_content = f.read() # 初始化HTML解析器 soup = BeautifulSoup(html_content, "lxml") # 查找所有class为list-card-addr的address标签 address_tags = soup.find_all("address", class_="list-card-addr") # 提取所有地址文本 address_list = [tag.get_text(strip=True) for tag in address_tags] # 打印/保存提取结果 for addr in address_list: print(addr)
常见调整说明
- 如果只需要提取第一个符合条件的地址,把
find_all方法替换为find即可 get_text的strip=True参数会自动去掉地址前后多余的空格、换行符,无需额外做文本清洗- 如果你的HTML文件编码不是utf-8,可以修改
open方法的encoding参数,比如换成gbk适配中文Windows系统生成的文件
注意:不推荐用正则表达式匹配HTML标签内容,HTML的嵌套、属性顺序变化、空格差异都可能导致正则匹配失效,用专业的HTML解析库稳定性高很多。
内容的提问来源于stack exchange,提问作者Daniel Orillac
相关产品推荐
相关产品推荐

