如何从跨度 class bs4 内的 b 标签获取文本

how to get text from b tag inside a span class bs4

my code till now

from bs4 import BeautifulSoup as bs
import requests,time

url = "https://forecast.weather.gov/MapClick.php?lat=37.8615&lon=-87.0611"
response = requests.get(url)
soup = bs(response.content,'lxml')

data2 = soup.find('span',{"class":"smallTxt"})
print(data2)

输出结果是 BRIDESHEAD REVISITED by Evelyn Waugh

使用你的代码我无法得到 BRIDESHEAD REVISITED

你可以尝试做这样的事情,它不是健壮的,但它可能会工作。

我定义了一个字典,并为每个键获取了它的值。

为了简化解决方案,我删除了每个键的冒号。

该格式不允许在同一行中迭代和获取每个 key-value,因此我定义了键及其值(空),并在下一轮插入它

result = {}
for i,v in enumerate(data2):
    if i % 2 == 0:
        key = v.get_text().split(':')[0]
        result[key] = ''
    else:
        result[key] = v

输出:

{'Lat': '37.74°N', 'Lon': '87.17°W', 'Elev': '407ft.'}