pandasでtableを簡単スクレイピング

  • 40
    いいね
  • 3
    コメント
この記事は最終更新日から1年以上が経過しています。

こんなサイトのテーブルをpandasのデータフレームに取り込みたくて、BeautifulSoupのタグからリストに変換して・・・と色々やっていたそこのあなた!

n225.PNG

なんと、read_html(flavor='bs4')だけで簡単に持ってくることができますよ。
(え?知ってた?・・・自分は知らなくてずっと損してましたorz)


import pandas as pd
tables = pd.read_html('http://stocks.finance.yahoo.co.jp/stocks/history/?code=998407.O', flavor='bs4')
print(tables[1])

"""
              0         1         2         3         4
0            日付        始値        高値        安値        終値
1   2015年11月19日  19851.24  19959.06  19761.56  19859.81
2   2015年11月18日  19771.86     19840  19643.97  19649.18
3   2015年11月17日  19641.67  19726.01  19628.84  19630.63
4   2015年11月16日  19263.96  19451.09  19252.04  19393.69
5   2015年11月13日  19495.26  19601.49  19388.91  19596.91
6   2015年11月12日  19644.65  19725.83  19597.99  19697.77
7   2015年11月11日  19602.01  19724.12  19602.01  19691.39
8   2015年11月10日  19457.05  19674.05  19457.05  19671.26
9    2015年11月9日  19411.51  19684.41  19389.74  19642.74
10   2015年11月6日  19194.34  19294.15  19164.86   19265.6
11   2015年11月5日  19029.44  19167.09  18995.96  19116.41
12   2015年11月4日  18941.32  19151.89  18926.91  18926.91
13   2015年11月2日  18827.11  18861.11  18641.22  18683.24
14  2015年10月30日  18924.31  19202.34  18784.69   19083.1
15  2015年10月29日  19046.16  19080.89  18809.48  18935.71
16  2015年10月28日  18826.94  18925.51  18815.12  18903.02
17  2015年10月27日  18961.16  18964.99  18760.79  18777.04
18  2015年10月26日  19036.13  19088.76  18937.45  18947.12
19  2015年10月23日  18762.65  18915.64  18746.61   18825.3
20  2015年10月22日  18443.69  18579.14  18376.01  18435.87

"""