bs4怎么获取标签内的文本
时间: 2023-05-14 10:04:23 浏览: 838
您可以使用BeautifulSoup库中的.text或.string属性来获取标签内的文本。例如,如果您想获取一个div标签内的文本,可以使用以下代码:
from bs4 import BeautifulSoup
html = '<div>这是一个div标签的文本</div>'
soup = BeautifulSoup(html, 'html.parser')
div_text = soup.find('div').text
print(div_text)
输出结果为:这是一个div标签的文本
相关问题
bs4的xpath语法如何获取标签内除去br标签以外的所有内容
在BeautifulSoup4中,可以使用`get_text()`方法来获取标签内的所有文本内容。如果要排除某些标签,可以将这些标签名传递给`exclude`参数。例如,要获取除去`br`标签以外的所有文本内容,可以使用以下代码:
```python
from bs4 import BeautifulSoup
html = """
<div>
<p>This is some text.</p>
<br>
<p>More text.</p>
</div>
"""
soup = BeautifulSoup(html, 'html.parser')
text = soup.div.get_text(exclude=['br'])
print(text)
```
输出结果为:
```
This is some text.
More text.
```
在这个例子中,我们首先使用`BeautifulSoup`解析了一个HTML字符串。然后,我们选择了`div`标签,并使用`get_text()`方法来获取除去`br`标签以外的所有文本内容。最后,我们将结果输出到控制台。
bs4中etree的xpath语法如何获取标签内除去br标签以外的所有内容
可以使用`string()`函数获取标签内除去br标签以外的所有内容,示例代码如下:
```python
from bs4 import BeautifulSoup
html = """
<div>
This is some <br>text with<br> line breaks.
<p>And a paragraph.</p>
</div>
"""
soup = BeautifulSoup(html, 'html.parser')
div = soup.find('div')
text = div.xpath('string()').replace('\n', '').strip()
print(text)
```
输出结果为:
```
This is some text with line breaks. And a paragraph.
```
这里先使用`find()`方法获取目标`<div>`标签,然后使用`xpath()`方法结合`string()`函数获取标签内所有文本,并使用`replace()`和`strip()`方法去除换行符和首尾空格。这样就能够获取标签内除去br标签以外的所有内容了。
阅读全文