python - 如何从股票代码列表中从雅虎财经中抓取/提取特定的资产负债表字段?
问题描述
我在一个名为 stocktickers.csv 的文件中有一个代码列表(如下所示):
行情 |
---|
AMD |
苹果 |
脸书 |
微软 |
谷歌 |
我想从该列表中抓取 Yahoo Finance 资产负债表数据并将其输入到 stocktickers.csv 文件中,如下所示。“有形账面价值”和“已发行股份”是每个股票代码的资产负债表网页上的字段,例如 AMD 的:https ://finance.yahoo.com/quote/AMD/balance-sheet?p=AMD 。
行情 | 有形_BV | 股份_已发行 |
---|---|---|
AMD | 1,000,000 | 500,000 |
苹果 | 2,000,000 | 200,000 |
脸书 | 3,000,000 | 300,000 |
微软 | 500,000 | 50,000 |
谷歌 | 4,000,000 | 400,000 |
这是我到目前为止所拥有的,它刮掉了所有年份的有形账面价值。
from bs4 import BeautifulSoup
import requests
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36'
}
url = 'https://finance.yahoo.com/quote/AAPL/balance-sheet?p=AAPL'
response = requests.get(url, headers=header)
html = response.text
soup = BeautifulSoup(html, "html.parser")
main = soup.find("div", {"data-reactid": "195"}) #or 196
divs = main.find_all("div")
for div in divs:
span = div.find("span")
try:
print(span.text)
except:
pass
结果:
Tangible Book Value
Tangible Book Value
65,339,000
90,488,000
107,147,000
126,032,000
如果有一种方法可以使用get_balance_sheet()
(来自yfinance 模块)来抓取特定的资产负债表字段,例如上面的那些,那也很棒。
解决方案
尝试金融建模准备 API。您可以非常轻松地从 JSON 请求中获取该信息,因此您不必抓取它。
推荐阅读
- tinymce - 如何使用 TinyMCE 5 在顶部和底部放置 2 个工具栏功能区
- javascript - 目标类元素而不是带有闪烁动画脚本的文档正文
- flutter - 使用 mockito 进行导航测试时出错
- python - Python区分返回的元组和多个值
- laravel - 如何在 dompdf 中编写梵文脚本?
- python - How to download Glut for PyOpenGL, error Attempt to call an undefined function glutInit, 尝试了很多解决方案,都不行
- java - 如何解决 Unity android 插件中的 java.lang.NoClassDefFoundError
- python - 计算 3-D 卷曲的最快算法
- xamarin.forms - 如何在两个 ListView 控件之间拖放项目?
- excel - Power BI - 采用多列年份和值列并合并为 2 列