- 日本プロ野球機構(NPB)のホームページから12球団選手の打撃・投球成績を取得
- 取得したデータをDB(SQLite3)に保存
作者(shinyorke)の動作環境より.
- gitクライアント(何でもOK)
- ソースコードを取得するために使う
- 面倒くさい方は直接ダウンロードしてもらってもOK
- Python 3系の最新Ver
- 3.6以上を推奨
- 試してはいませんが,3.3.x以上なら動くと思う
- 2.7.x系は未検証ですが多分動くと思います(がオススメしません&対応する気は無いです)
- Scrapyのインストールが必要(後述)
- 1.4.0で検証(作成時点の最新バージョン)
- MacOS Sierra(10.12.6)
- 上記のPythonバージョンおよびScrapyバージョンであればOS関係なく動くハズ
$ git clone https://github.com/Shinichi-Nakagawa/scrapy-sample-baseball.git
$ wget https://github.com/Shinichi-Nakagawa/scrapy-sample-baseball/archive/master.zip
$ unzip master.zip
- ダウンロードサイト(公式)
- お使いのOS・プラットフォームに合わせてお使いください
- (繰り返しになりますが)Python 3.6以上が推奨です!
$ pip install scrapy
Scrapyのエンドポイントにcdします.
$ cd scrapy-sample-baseball/baseball
なお,ダウンロードで手に入れた人は最初のディレクトリ名が変わるので注意
$ cd scrapy-sample-baseball-master/baseball
scrapyのコマンドで取得します.
初回実施の時はDBファイル(baseball.db)が生成され,同時にSchemeも作成されます.
$ scrapy crawl batter -a year=2017 -a league=1
同じく,scrapyのコマンドで取得します.
初回実施の時はDBファイル(baseball.db)が生成され,同時にSchemeも作成されます.
$ scrapy crawl pitcher -a year=2017 -a league=1
いずれも省略可能,省略時はdefault値が使われます.
取得する成績年度
1軍成績もしくは2軍成績
2軍の場合は
$ scrapy crawl {batter|pitcher} -a year=2017 -a league=2
これで取得可能です.
baseball/baseball/item.pyに乗っているカラムと解説が全てです.
カラムの名称は一般的に使われる野球英語の略称を用いています.
詳細は各Itemのコメントを参照ください.
baseball/baseball/pipelines.pyにCreate Table文があります.
カラムの意味と解説はItemと全く同じです(id値とcreate_date/update_dateがあるぐらいの違い)
なお,indexは全く貼っていないので必要な方は随時書き換えてもらえると.