【问题标题】:How to parse yahoo finance stock price using beautifulsoup?如何使用beautifulsoup解析雅虎财经股票价格?
【发布时间】:2021-07-10 15:28:10
【问题描述】:

出于学习目的,我尝试使用 yahoo Finance 提取 AAPL 的当前股价。 但是,我得到的是空输出。

如何提取股票价值?

要求值:134.69(如下图所示)(注意这个值随时间变化,但这只是一个例子)

MWE

import numpy as np
import pandas as pd
import json
import requests

from bs4 import BeautifulSoup


ticker = 'aapl'
url = f"https://finance.yahoo.com/quote/{ticker.upper()}"

response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

soup.find_all("div", class_="Trsdu(0.3s) Fw(b) Fz(36px) Mb(-4px) D(ib)")

检查

【问题讨论】:

    标签: python beautifulsoup python-requests


    【解决方案1】:

    标签是<span>,而不是<div>

    import requests
    from bs4 import BeautifulSoup
    
    
    ticker = "aapl"
    url = f"https://finance.yahoo.com/quote/{ticker.upper()}"
    
    response = requests.get(url)
    soup = BeautifulSoup(response.text, "html.parser")
    
    
    print(soup.find_all("span", class_="Trsdu(0.3s) Fw(b) Fz(36px) Mb(-4px) D(ib)"))
    

    打印:

    [<span class="Trsdu(0.3s) Fw(b) Fz(36px) Mb(-4px) D(ib)" data-reactid="32">134.36</span>]
    

    编辑:只获取数字:

    print(
        soup.find("span", class_="Trsdu(0.3s) Fw(b) Fz(36px) Mb(-4px) D(ib)").text
    )
    

    打印:

    134.23
    

    【讨论】:

    • 如何只获取数字134.36?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-06
    • 2022-01-22
    • 2014-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多