我有這樣的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

慕村9548890
TA貢獻1884條經驗 獲得超4個贊
您還可以使用 FOP 方法(假設您已經將 soup 創建為 soup
:
map(lambda br: print(br.text), soup.find_all('br'))
- 2 回答
- 0 關注
- 186 瀏覽
添加回答
舉報
0/150
提交
取消