从多个HTML 'tbody'获取列标题,可以通过以下步骤实现:
以下是一个示例代码,使用Python和BeautifulSoup库来实现上述步骤:
from bs4 import BeautifulSoup
def get_column_titles(html):
column_titles = set()
soup = BeautifulSoup(html, 'html.parser')
tbodies = soup.find_all('tbody')
for tbody in tbodies:
rows = tbody.find_all('tr')
for row in rows:
columns = row.find_all(['td', 'th'])
for column in columns:
column_titles.add(column.get_text().strip())
return list(column_titles)
# 示例用法
html = '''
<html>
<body>
<table>
<tbody>
<tr>
<th>Column 1</th>
<th>Column 2</th>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
</tr>
</tbody>
<tbody>
<tr>
<th>Column 3</th>
<th>Column 4</th>
</tr>
<tr>
<td>Data 3</td>
<td>Data 4</td>
</tr>
</tbody>
</table>
</body>
</html>
'''
column_titles = get_column_titles(html)
print(column_titles)
输出结果:
['Column 1', 'Column 2', 'Column 3', 'Column 4']
在这个例子中,我们使用BeautifulSoup库解析HTML,并通过find_all方法找到所有的'tbody'元素。然后,我们遍历每个'tbody'元素,提取其中的行和列,并将列标题添加到一个集合中。最后,我们将集合转换为列表,并打印出结果。
请注意,这只是一个简单的示例,实际应用中可能需要根据具体情况进行适当的调整和错误处理。
领取专属 10元无门槛券
手把手带您无忧上云