获取<div class="score"> <span class="star star48"></span> <span>4.8分</span> </div>中两个span的值,合并在一起
时间: 2024-02-14 09:05:30 浏览: 22
您可以使用BeautifulSoup库来解析HTML文档,并使用find方法找到class为"score"的div标签,然后再找到其中的两个span标签,并分别获取它们的文本值,最后将两个文本值合并起来即可。以下是Python代码示例:
```python
from bs4 import BeautifulSoup
# 假设HTML文档存储在html变量中
html = '<div class="score"> <span class="star star48"></span> <span>4.8分</span> </div>'
# 使用BeautifulSoup解析HTML文档
soup = BeautifulSoup(html, 'html.parser')
# 找到class为"score"的div标签
score_div = soup.find('div', {'class': 'score'})
# 找到其中的两个span标签,并获取它们的文本值
span_values = [span.text for span in score_div.find_all('span')]
# 将两个文本值合并起来
result = ''.join(span_values)
# 输出结果
print(result)
```
输出结果为:
```
4.8分
```
相关问题
<div><span></span></div>
<div><span></span></div>是HTML中的标签。其中<div>标签用于定义文档中的一个区域或一个节,而<span>标签用于对文档中的一部分进行分组或者样式化。[1]
<div>标签是一个块级元素,可以包含其他块级元素或者行内元素。它可以用于创建一个独立的块,可以设置宽度、高度、背景色等样式。
而<span>标签是一个行内元素,用于对文本或者其他行内元素进行样式化或者分组。它通常用于设置文本的颜色、字体样式、字体大小等。
所以,<div><span></span></div>可以用于创建一个块级元素,并在其中放置行内元素或者其他块级元素,用于实现更加灵活的布局和样式化效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
<div class="totalPrice totalPrice2"><i>参考价: </i><span class="">395</span><i>万</i></div>如何只取395
您可以使用字符串切片或正则表达式来提取数字部分。以下是字符串切片的示例代码:
```python
price_str = '<div class="totalPrice totalPrice2"><i>参考价: </i><span class="">395</span><i>万</i></div>'
start_index = price_str.index('">') + 2
end_index = price_str.index('</span>')
price = price_str[start_index:end_index]
print(price)
```
输出结果为:
```
395
```
以下是正则表达式的示例代码:
```python
import re
price_str = '<div class="totalPrice totalPrice2"><i>参考价: </i><span class="">395</span><i>万</i></div>'
pattern = re.compile(r'<span.*?>(.*?)</span>')
match = pattern.search(price_str)
if match:
price = match.group(1)
print(price)
```
输出结果为:
```
395
```