Python如何使用BeautifulSoup提取span标签中的目标数值7.7872
解决方案
你之前遍历span.pos子节点的写法,会把内部嵌套的span标签和后面的文本节点依次输出,所以会携带多余的标签和空白内容,可通过以下两种常用方法实现精准提取:
- 方法1:正则匹配提取数值(容错性最高)
直接获取目标标签的全部文本后,用正则匹配出纯数字内容:import re # 定位目标标签 pos_tag = soupUSD.find("span", class_="pos") # 提取所有文本后匹配浮点数值 target_num = re.search(r'\d+\.\d+', pos_tag.get_text()).group() print(target_num) - 方法2:移除无用嵌套标签后取文本
先删除内部的箭头span标签,再清洗剩余的空白字符:pos_tag = soupUSD.find("span", class_="pos") # 删除不需要的内部span标签 pos_tag.find("span", class_="arr_ud arrow_u5").decompose() # 提取文本并去除前后空白/nbsp等特殊字符 target_num = pos_tag.get_text(strip=True) print(target_num)
两种方法运行后均会输出7.7872。
内容的提问来源于stack exchange,提问作者Jimmy
相关产品推荐
相关产品推荐

