想要获取HTML表格行中的第一个值。HTML 表格行如下所示:
Buy Sell Sell
。我的代码看起来像:
page = requests.get(url)
soup = BeautifulSoup(page.text, 'html.parser')
table = soup.findAll('tr', {'class' :'last'})
for r in range(len(table)):
print(table[r].text)
。当前返回:
Buy
Sell
Sell
。应该如此,但是我只想检索"买入"值。如果有帮助,则该值的 HTML 定位符是
td class = "current" .... </td
我尝试在我的代码中使用切片功能 [1]、[-1]、[1:1] 等,但似乎无法弄清楚。有人可以协助吗?谢谢一百万。
您可以使用.find()
而不是.findAll()
来获取第一个匹配项:
soup.find('tr', {'class': 'last'}).get_text()
或者,如果您需要进入第一个tr
的第一个内部td
元素:
soup.find('tr', {'class': 'last'}).td.get_text()
其中.td
是.find("td")
的简写。
或者,您可以强制执行current
类检查(假设您要追求内部td
元素的内容(:
soup.select_one("tr.last td.current").get_text()
其中tr.last td.current
是一个 CSS 选择器,它将匹配具有类current
tr
元素内具有类last
td
元素。