大学院生のひとりごと

興味あること:機械学習,量子コンピュータ,たまに競馬

PythonでMySQLを操作

レース結果のデータを取るスクレイパーは完成して,10年分のデータ取ってみた
次はお馬さんのデータ(血統,性別,生年月日,など)を取ってこよう

netkeiba.comの馬のページのurlは http://db.netkeiba.com/horse/<馬固有の数字>/
になっていて,取ってきたデータのレース結果のテーブルのhorse_idカラムに馬固有の数字のデータがあるので
そのデータをMySQLから取ってくればurlはわかる

さて,MySQLにデータを入れるのはやったが,取り出すのはやったことがない.
まあ,やることは大して変わりがなくて以下の感じだ.

まずはレース結果のテーブルからhorse_idを取ってくる

conn = pymysql.connect(host='127.0.0.1', unix_socket='/tmp/mysql.sock',
                       user='root',passwd=????,db='mysql',charset='utf8')
try:
    with conn.cursor() as cur:
        cur.execute("USE keiba_db")
        sql = "SELECT horse_id from record" 
        cur.execute(sql)
        horse_id = cur.fetchall()
finally:
    conn.close()

するとhorse_idにタプルとして取得できる.