Python 使用网络抓取从互联网获取股票价格
我的代码的输出:Python 使用网络抓取从互联网获取股票价格,python,web-scraping,finance,stock,Python,Web Scraping,Finance,Stock,我的代码的输出: https://www.tradingview.com/symbols/NSE-RELIANCE 1. [] 进程已完成,退出代码为0 我正在尝试从excel文件中读取股票名称,并使用此代码在excel工作表中更新它们的最新价格。运行此代码后,我将获得数组(数据)中的输出,但该数组不包含任何股票价格,我可以稍后在列表中检索并更新这些股票价格。有人能帮我吗 正如我在评论中所说,这些数据是在页面加载后从脚本生成的,请求不运行脚本。处理这个问题的一种方法是使用类似于seleniu
https://www.tradingview.com/symbols/NSE-RELIANCE
1.
[]
进程已完成,退出代码为0
我正在尝试从excel文件中读取股票名称,并使用此代码在excel工作表中更新它们的最新价格。运行此代码后,我将获得数组(数据)中的输出,但该数组不包含任何股票价格,我可以稍后在列表中检索并更新这些股票价格。有人能帮我吗
正如我在评论中所说,这些数据是在页面加载后从脚本生成的,
请求
不运行脚本。处理这个问题的一种方法是使用类似于selenium
的东西,它也将运行脚本,另一种方法是直接查询它们的API。在查看了如何从站点查询数据后,我实现了以下目标:
r = requests.post(r"https://scanner.tradingview.com/america/scan",
data=json.dumps({"symbols":{"tickers":["NYSE:GME"],"query":{"types":[]}},"columns":["close"]}))
print(r.json())
返回的数据如下所示:
{'data': [{'s': 'NYSE:GME', 'd': [52.4]}], 'totalCount': 1}
请注意“tickers”
和“columns”中的值
如果您需要更多数据,下面是一个更广泛的列列表
['Recommend.All', 'RSI', 'RSI[1]', 'Stoch.K', 'Stoch.D', 'Stoch.K[1]', 'Stoch.D[1]', 'CCI20', 'CCI20[1]', 'ADX', 'ADX+DI', 'ADX-DI', 'ADX+DI[1]', 'ADX-DI[1]', 'AO', 'AO[1]', 'Mom', 'Mom[1]', 'MACD.macd', 'MACD.signal', 'Rec.Stoch.RSI', 'Stoch.RSI.K', 'Rec.WR', 'W.R', 'Rec.BBPower', 'BBPower', 'Rec.UO', 'UO', 'EMA10', 'close', 'SMA10', 'EMA20', 'SMA20', 'EMA30', 'SMA30', 'EMA50', 'SMA50', 'EMA100', 'SMA100', 'EMA200', 'SMA200', 'Rec.Ichimoku', 'Ichimoku.BLine', 'Rec.VWMA', 'VWMA', 'Rec.HullMA9', 'HullMA9']
查看站点,数据似乎是通过运行脚本填充的。请求
模块不运行脚本,因此无法通过这种方式获取所需的数据。您需要使用运行脚本的工具,例如selenium
,或者查找alrternate数据源只需使用yfinance库
['Recommend.All', 'RSI', 'RSI[1]', 'Stoch.K', 'Stoch.D', 'Stoch.K[1]', 'Stoch.D[1]', 'CCI20', 'CCI20[1]', 'ADX', 'ADX+DI', 'ADX-DI', 'ADX+DI[1]', 'ADX-DI[1]', 'AO', 'AO[1]', 'Mom', 'Mom[1]', 'MACD.macd', 'MACD.signal', 'Rec.Stoch.RSI', 'Stoch.RSI.K', 'Rec.WR', 'W.R', 'Rec.BBPower', 'BBPower', 'Rec.UO', 'UO', 'EMA10', 'close', 'SMA10', 'EMA20', 'SMA20', 'EMA30', 'SMA30', 'EMA50', 'SMA50', 'EMA100', 'SMA100', 'EMA200', 'SMA200', 'Rec.Ichimoku', 'Ichimoku.BLine', 'Rec.VWMA', 'VWMA', 'Rec.HullMA9', 'HullMA9']