【发布时间】:2017-03-27 07:43:50
【问题描述】:
我目前正在努力处理雅虎财经的这个页面:https://sg.finance.yahoo.com/quote/1B0.SI/history?period1=1426780800&period2=1489939200&interval=div%7Csplit&filter=split&frequency=1mo
我需要获取股票分割的日期和比率,但我进入了一个 json 文件,其中我没有看到任何这些信息!
我正在使用这里提到的脚本How to understand this raw HTML of Yahoo! Finance when retrieving data using Python?
from bs4 import BeautifulSoup
from pprint import pprint as pp
import re
import json
import requests
url='https://sg.finance.yahoo.com/quote/1B0.SI/history?period1=1426780800&period2=1489939200&interval=div%7Csplit&filter=split&frequency=1mo'
soup = BeautifulSoup(requests.get(url).content)
script = soup.find("script",text=re.compile("root.App.main")).text
data = json.loads(re.search("root.App.main\s+=\s+(\{.*\})", script).group(1))
stores = data["context"]["dispatcher"]["stores"]
pp(stores)
如果您知道在哪里可以找到它,请告诉我。
谢谢!
【问题讨论】:
-
如果你愿意,你有一个雅虎财经的模块,pypi.python.org/pypi/yahoo-finance
-
@AnthonyPrdal 谢谢,老实说我不知道 API,但我没有看到任何获取 Stock Splits 的方法。我也想解决这个问题,它应该有用在其他项目中对我来说。例如,这里引用的解决方案stackoverflow.com/questions/21445966/… 在很多情况下确实很强大,但在我这里没有这样的 iFrame :(
-
您希望表格中显示日期为 2016 年 10 月 11 日和 2016 年 2 月 25 日的信息吗?
标签: python json web-scraping yahoo-finance