首页 > 解决方案 > 使用 Python 在 html 标签中查找标签和 id

问题描述

我已经使用 selenium 来提取网站的 html 代码,我将其放在变量 html_code 中

我想提取这些 html 标签的标签和相应的 id。

到目前为止,我已经设法单独使用

var1 = re.findall(r'<label\s*.*>(.+?)<\?label>', html_code)

我的问题是:如何将html标签的相应ID与标签一起提取?我使用什么功能?我可以为此使用 findall 或其他功能的组合吗?

标签: pythonhtmlregex

解决方案


见下文。这个想法是使用 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

推荐阅读