BeautifulSoupでゴリゴリ
最近は自分用スクリプトをPythonで記述するようにしている。ということで、今回は株価監視スクリプト。最低限一日の終値を淡々とDBに書き込むところまで作った
株価取得のAPIなんて無料ではなさそうなので、その辺のウェブで公開している情報をスクレイピング
PythonではBeautifulSoupというライブラリを使うのが一般的らしい。なんだかふざけた名前だが、Python界隈にはこういうネーミングをする人が多い気がする。嫌いではない。
pythonではとりあえずライブラリの機能を試す場合にインタラクティブモードにして触ってみるのが良いと思う。
% python Python 2.4.4 (#2, Aug 16 2007, 00:34:54) [GCC 4.1.3 20070812 (prerelease) (Debian 4.1.2-15)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import urllib >>> import BeautifulSoup >>> url='http://money.www.infoseek.co.jp/MnStock/3774.t/sresult/' >>> soup = BeautifulSoup.BeautifulSoup(urllib.urlopen(url)) >>> table=soup.findAll("table",{"class":"ruled"})[0] >>> price=int(table.findAll('tr')[0].b.string.replace(',','')) >>> print price 423000
みたいな感じ。ソースをinfoseekにしたのは特に意味はない。使い方がよくないのもあって、正規表現で決め打ちで取り出すのとあまり大差ない精度になっているような