エンジニアリングとお金の話

都内で働くエンジニアの日記です。

【技術】yahooファイナンス用のツールを作ることにした

【SPONSORED LINK】

最近開発を行っていないと思い、手始めにyahooファイナンス用のツールを作成する事にした。作成したのはyahooファイナンスから証券コードと会社名を取得しDictionayに格納するツールである。

#-*- coding=utf-8 -*-

from BeautifulSoup import BeautifulSoup
import requests
import re

"""yahooFinance get stockCode and CompanayName""" 
def main():
    companyCode=[]
    companyName=[]
    for loop in range(1,3):
        page=1
        while True:
            res=requests.get("http://info.finance.yahoo.co.jp/ranking/?kd=%s&tm=d&vl=a&mk=1&p=%s" % (loop,page))
            bs=BeautifulSoup(res.text)
            if  len(bs.findAll("td")) > 0:
                for line in bs.findAll("td"):
                    if line.a != None and re.compile("\d{4}").match(line.a.text.encode("utf-8")):
                        companyCode.append(line.a.text.encode("utf-8"))
                for line in bs.findAll("td",attrs={"class":"normal yjSt"}):
                        companyName.append(line.text.encode("utf-8"))
                page += 1
            else:
                break
    stockDict=dict(zip(companyCode,companyName))

if __name__ == '__main__':
    main()

内容としてはyahooファイナンスの値上がり率ランキングと値下がり率ランキングからデータを取得するというシンプルな物である。とりあえず次はこのモジュールを使用して各会社の相関係数を取得するツールを作成したい。