LoginSignup
13
7

More than 3 years have passed since last update.

netkeiba-scraperが2019年6月現在動くかの話(Ubuntu 18.04.2 LTS)

Last updated at Posted at 2019-06-03

Qiita初投稿です。nekohanahime 別名、船橋海神と申します。好きな言語はZ80とN-BASICです。近頃はPythonをよく書きます。品詞分解(中世古文)や形態素解析(英語)が好きです。Juliusで毎時決まった時刻のBBC Worldニュースをテキストに落とし込んで解析したりしています。そのうち公開するかもしれません。

本稿の狙い

netkeiba-scraperというすばらしいスクリプトが公開されて3年半になります。動かせる方は苦もなく動かせているでしょうが、私このたび入れてみてそれなりに苦労もしました。そこで、2019年6月現在の「この環境で動く」「ここがポイント」「実際にどんな値が得られるか」を共有し、感謝と貢献をできればと思った次第です。この先の自分への備忘でもあります。

動作環境

Ubuntu

$ cat /etc/issue
Ubuntu 18.04.2 LTS \n \l

java

$ java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.18.04.1-b03)
OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)

sbt:netkeiba-scraper

sbt:netkeiba-scraper> about
[info] This is sbt 1.2.8
[info] The current project is ProjectRef(uri("file:/neko/hanahime/netkeiba-scraper/"), "netkeiba-scraper") 0.1.0-SNAPSHOT
[info] The current project is built against Scala 2.12.7
[info] Available Plugins
[info]  - sbt.ScriptedPlugin
[info]  - sbt.plugins.CorePlugin
[info]  - sbt.plugins.Giter8TemplatePlugin
[info]  - sbt.plugins.IvyPlugin
[info]  - sbt.plugins.JUnitXmlReportPlugin
[info]  - sbt.plugins.JvmPlugin
[info]  - sbt.plugins.SbtPlugin
[info] sbt, sbt plugins, and build definitions are using Scala 2.12.7

ソースコード書き換え箇所

/home/neko/hanahime/netkeiba-scraper/src/main/scala/netkeiba-scraper/Main.scala
driver.get("https://regist.netkeiba.com/account/?pid=login")
  1. まず、全体にhttp -> httpsにする。
  2. さらに、ログインURLを上記のようにする。
  3. build.sbtを修正する。概ね、@guitar_charさんの記事の通りです。

有料会員情報の取得は可能か?

上記により可能です(もちろん、IDとパスワードの設定が必要です。Main.scala内に記述箇所があります)。

大まかな処理所要時間

sbt "run collecturl"
157 s
Note: 初回処理で10年分を取得しました。現在は直近1年分を追加上書きする運用です。157秒というのは、その(直近1年分に対する)所要時間です。

sbt "run scrapehtml"
3.5 hours
Note: 同上

sbt "run extract"
1,092 s

sbt "run genfeature"
3.96 days

全体で丸4日間かかるイメージです。

計算結果の例

以下は、stockedgeさんのものをそのまま or アレンジしてヒアドキュメントで記述しただけです。

全馬単勝馬券均一購入回収率

$ ./01_allbet.sh 
買い目数        回収率             
----------  ----------------
495737      72.8213346996488

人気別回収率(穴馬バイアス)

$ ./02_popularity.sh 
人気          買い目数        回収率             
----------  ----------  ----------------
1           34660       77.3127524523948
2           34656       80.1061865189291
3           34660       81.1774379688402
4           34643       80.3440810553357
5           34628       81.6469331177082
6           34619       83.5269649614371
7           34528       81.6346153846154
8           34287       79.4823110800013
9           33669       74.5181027057531
10          32592       73.9936180657831
11          31041       72.21159112142  
12          29117       68.3315588831268
13          26499       64.5028114268463
14          23656       49.0826851538721
15          20150       56.0466501240695
16          15695       33.0175215036636
17          3664        20.5594978165939
18          2973        13.3669693911874

まとめ

2019年6月現在、Ubuntu 18.04環境でnetkeiba-scraperがちゃんと動くんだよということを示しました。また、目安として、一連の処理の所要時間と、計算結果の例を示しました。スピード指数などの有料会員情報もきちんと取得できています。

13
7
10

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
7