【问题标题】:Get numerical value of a html tag in python在python中获取html标签的数值
【发布时间】:2020-02-11 23:06:54
【问题描述】:

我想刮雅虎!融资并获得任何证券“净资产”的数值:

import requests
from bs4 import BeautifulSoup
sii = "AGG"
url = "https://finance.yahoo.com/quote/%s?p=%s&.tsrc=fin-srch" % (sii, sii)
response = requests.get(url) # send request to yahoo!
soup = BeautifulSoup(response.text, "html.parser")

当我这样做时:

soup.find_all("span")

返回:

 [ <span data-reactid="53">Net Assets</span>,
   <span class="Trsdu(0.3s) " data-reactid="55">72.72B</span>,]

我的问题是,我如何访问最后一个标签内的数值,例如。 72.72B ?

【问题讨论】:

标签: python python-3.x beautifulsoup request


【解决方案1】:

find_all()返回一个列表,所以如果你想要最后一个标签内的信息,你可以这样做:

result = soup.find_all("span") 
myvalue = result[-1].text

如果不是获取最后一项,而是从span 获取匹配某个值的文本,您可以使用键/值条件执行相同的操作。

result = soup.find_all("span", {"data-reactid":"82"}) 
myvalue = result[0].text

【讨论】:

  • 谢谢! .text 是我一直在寻找的。我会使用 data-reactid 但在这种情况下它会在安全之间发生变化
猜你喜欢
  • 2013-09-10
  • 2018-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-12
  • 2014-03-27
相关资源
最近更新 更多