python爬取div中的汉字,需要去掉div下其他的div
时间: 2024-05-12 17:20:21 浏览: 120
可以使用BeautifulSoup库来解析HTML文档,然后通过遍历div标签及其子标签的方式来获取其中的汉字。具体实现如下:
```python
from bs4 import BeautifulSoup
html = """
<div class="content">
这里是需要获取的汉字
<div class="other">其他div</div>
<div class="another">另一个div</div>
</div>
"""
soup = BeautifulSoup(html, 'html.parser')
content_div = soup.find('div', {'class': 'content'})
# 遍历content_div标签及其子标签,获取其中的汉字
chinese_chars = ''
for tag in content_div.descendants:
if tag.name is None and tag.strip():
chinese_chars += tag.strip()
print(chinese_chars) # 输出:这里是需要获取的汉字
```
首先,使用BeautifulSoup将HTML文档解析成树形结构,然后通过`find()`方法找到`class`属性为`content`的`div`标签。接着,使用`descendants`属性遍历`content_div`标签及其子标签,对于每一个非标签节点(即没有`name`属性的节点),如果其包含文本内容,则将其中的汉字添加到`chinese_chars`字符串中。最后,输出`chinese_chars`字符串即可。
阅读全文