您如何从 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
我正在尝试从 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