您如何从 html table 中 return 1 个值?

How do you return 1 value from an html table?

我正在尝试从 table 在线获取一条数据,目前我的代码返回的是第一个 table 中第一个

import requests
from bs4 import BeautifulSoup as bs
import pandas as pd

c = "HMDB0059897"
res = requests.get("https://hmdb.ca/metabolites/" + c)
html_page = res.content
soup = bs(html_page, "html.parser")
table = soup.find("table")

headings = [th.get_text().strip() for th in table.find("tr").find_all("th")]

datasets = []
for row in table.find_all("tr")[1:]:
    datasets = dict(zip(headings, (td.get_text() for td in row.find_all("td"))))
    datasets.append(dataset)

print(datasets)

如果我没理解错的话,您只想select“状态”行的值:

import requests
from bs4 import BeautifulSoup as bs

c = "HMDB0059897"
res = requests.get("https://hmdb.ca/metabolites/" + c)
html_page = res.content
soup = bs(html_page, "html.parser")

status = soup.select_one('th:-soup-contains("Status") + td')
print(status.text)

打印:

Detected but not Quantified