为了账号安全,请及时绑定邮箱和手机立即绑定

Beautifulsoup 提取物内 <br>标签

Beautifulsoup 提取物内 <br>标签

湖上湖 2023-12-19 16:40:24
我有这样的html代码<td><b>Total : 32</b><br/>Mango : 12<br/>Banana : 4<br/>Grape : 16<br/>Watermelon : 0 </td>我怎样才能将它提取到这样的变量中?Total : 32Mango : 12Banana : 4Grape : 16Watermelon : 0只需获取编号,名称作为变量谢谢。
查看完整描述

2 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

尝试:


a = '<td><b>Total : 32</b><br/>Mango : 12<br/>Banana : 4<br/>Grape : 16<br/>Watermelon : 0 </td>'

for i in a.strings:

    print(i)

请记住,a 不是字符串,而是 <class 'bs4.BeautifulSoup'>。这给出了输出:


Total : 32

Mango : 12

Banana : 4

Grape : 16

Watermelon : 0 

这可以存储为字典:


dc = {}

for i in a.strings:

    dc[i.split()[0]] = int(i.split()[-1])

这给出:


{'Total': 32, 'Mango': 12, 'Banana': 4, 'Grape': 16, 'Watermelon': 0}

现在,如果您确定需要像 Total 这样的变量,其值为 32,请尝试(不推荐方法):


for i in a.strings:

    exec(f'{i.split()[0]} = int(i.split()[-1])')

现在给他们打电话:


>>>Total

32

>>>Mango

12


查看完整回答
反对 回复 2023-12-19
?
慕村9548890

TA贡献1884条经验 获得超4个赞

您还可以使用 FOP 方法(假设您已经将 soup 创建为 soup

map(lambda br: print(br.text), soup.find_all('br'))


查看完整回答
反对 回复 2023-12-19
  • 2 回答
  • 0 关注
  • 63 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信