python - 使用 Python 在 html 标签中查找标签和 id
问题描述
我已经使用 selenium 来提取网站的 html 代码,我将其放在变量 html_code 中
我想提取这些 html 标签的标签和相应的 id。
到目前为止,我已经设法单独使用
var1 = re.findall(r'<label\s*.*>(.+?)<\?label>', html_code)
我的问题是:如何将html标签的相应ID与标签一起提取?我使用什么功能?我可以为此使用 findall 或其他功能的组合吗?
解决方案
见下文。这个想法是使用 XML 解析器“查看”html。
import xml.etree.ElementTree as ET
import pandas as pd
html = '''<html>
<label id="id_name1" for="whichever" class="class_name">LabelName1</label>
<label id="id_name2" for="whichever" class="class_name">LabelName2</label>
</html>'''
data = []
root = ET.fromstring(html)
for l in root.findall('label'):
data.append({'id':l.attrib['id'],'text':l.text})
df = pd.DataFrame(data)
print(df)
输出
id text
0 id_name1 LabelName1
1 id_name2 LabelName2
推荐阅读
- kubernetes - okd/openshift集群如何被多个用户同时使用?
- database - 通过 HTTP 请求向 Devo 发送数据时收到未知标签:“unknown.unknown”
- python-3.x - 对距离(pdist)的输出向量形状是什么?
- typescript - AbortController missing in TypeScript
- go - Prometheus 日志指标导出器
- c# - 向 AbpUser 添加导航属性
- c# - 执行作为函数参数传递的方法列表
- mysql - 覆盖唯一对 SQL
- python - 我在 Raspbian 上遇到 espeak 问题:没有名为“espeak”的模块
- sql - SQL 左连接行为