2017-12-07 28 views
1

私は、美しいスープを使用してyahooファイナンスページを解析することについて簡単に質問しています。Python Beautiful Soup - Yahoo Financeデータ、年次対四半期

ここでは、データを抽出したいページの例を示します。

https://finance.yahoo.com/quote/AAPL/cash-flow?p=AAPL

私は正常に使用してBeautifulSoupからデータを抽出することができるが、私は四半期データ対年次切り替える方法を見つけ出すことはできません。したがって、私は毎年のデータを抽出することしかできません。四半期ごとに切り替えるとURLが変わらないようです。ブラウザの検査から、美しいスープを使って扱う方法がわからないテーブルを切り替えるようです。

誰か提案があるのでしょうか? ありがとうございました!

+0

jsonからデータを抽出する必要がありますが、ソースコード内のjsonsの量を調べることは容易ではありません。 –

+0

セレンを使って四半期ごとのボタンを実際にクリックしなければならないと思っていましたが、その後、テーブルを解析すると思いますか?私はセレンの経験がないので、これが可能かどうかは分かりません。 –

+0

これははるかに簡単です。私はjsonsで少し掘っていたが、結局のところ、いくつかのjsonsは理解するにはあまりにも巨大です。 –

答えて

1

ページ上のjsonを分離して、毎年および四半期のキャッシュフロー明細をすべて取得することができます。

url = 'https://finance.yahoo.com/quote/AAPL/financials?p=AAPL' 
html = requests.get(url).text 
soup = BeautifulSoup(html,'html.parser') 

soup_script = soup.find("script",text=re.compile("root.App.main")).text 
json_script = json.loads(re.search("root.App.main\s+=\s+(\{.*\})",soup_script)[1]) 
fin_data = json_script['context']['dispatcher']['stores']['QuoteSummaryStore'] 

cash_yr = fin_data['cashflowStatementHistory']['cashflowStatements'] 
cash_qtrs = fin_data['cashflowStatementHistoryQuarterly']['cashflowStatements'] 

バランスシート(balanceSheetHistory、balanceSheetHistoryQuarterly)と損益計算書(incomeStatementHistory、incomeStatementHistoryQuarterly)などもあります。

関連する問題