通过遍历输出如下 html中table标签的子节点、table标签的后(后代)子孙节点、输出tr标签的兄弟节点 code = '''<html><head> <title>甘肃省红色旅游景点</t
时间: 2024-10-25 15:05:45 浏览: 34
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
在Python中,我们可以使用BeautifulSoup库来解析HTML并提取元素。这里是一个示例,展示如何遍历并输出指定的HTML结构:
```python
from bs4 import BeautifulSoup
# 定义HTML字符串
html_code = '''
<html>
<head>
<title>甘肃省红色旅游景点</title>
</head>
<body>
<table border="1">
<tr>
<th>序号</th>
<th>景点名称</th>
<th>位置</th>
</tr>
<tr>
<td>1</td>
<td>西路军纪念馆</td>
<td>张掖市</td>
</tr>
<tr>
<td>2</td>
<td>南梁革命纪念馆</td>
<td>庆阳市</td>
</tr>
</table>
</body>
</html>
'''
# 使用BeautifulSoup解析HTML
soup = BeautifulSoup(html_code, 'lxml')
# 遍历table标签的直接子节点(即tr标签)
table = soup.find('table')
for tr in table.find_all('tr'):
print(f'TR子节点: {tr}')
# 遍历table标签的所有后裔子孙节点(包括自身在内的所有子元素)
for descendant in table.descendants:
print(f'后裔子孙节点: {descendant}')
# 输出每个tr标签的兄弟节点(在同一层级,除了当前tr)
for tr in table.find_all('tr'):
for sibling in tr.next_siblings:
if sibling.name == 'tr':
print(f'TR兄弟节点: {sibling}')
```
运行这段代码,你会看到相应的子节点、后代子孙节点以及tr标签的兄弟节点。
阅读全文