RubyであるサイトにPOSTして結果を出力する

やりたいこと

ここからPlayStation Network IDごとの成績、順位をまとめて取得したい。
通常だとスコア、アシスト、スティールなどの項目を個別に取得しなければならない。めんどくさい。
最初はCapybara/Phantomjsでスクレイピングしてみようと思ったけど、chromeの開発者ツールで通信を見てみるとJSON形式でPOSTすることで成績データを取得してるので、直接POSTを投げつけてみることに。

下準備

http/ftpでアクセスするためのライブラリ

プログラム

ハッシュから値を取り出す場合、digを利用すると便利。
https://docs.ruby-lang.org/ja/latest/method/Hash/i/dig.html

json = JSON.parse(res.body)でPOSTの結果をJSONとして解析して、ハッシュに変換

実行結果

参考文献

https://qiita.com/toshihirock/items/19fc868d3c4c52411aa9
https://dev.classmethod.jp/client-side/take_care_when_using_the_to_json/
https://qiita.com/seisonshi/items/c23c0154c45ccbfa9999
http://ruby-doc.org/stdlib-2.1.5/libdoc/net/http/rdoc/Net/HTTP.html
https://qiita.com/Mocacamo/items/8c8d2cdab3e2210971e0
https://qiita.com/vzvu3k6k/items/1705c7f4b29c08787ea0
https://qiita.com/nishina555/items/48cfc3eb80a78cbe51b9
https://qiita.com/taigamikami/items/d67e96479450958c2a39
https://docs.ruby-lang.org/ja/latest/method/Float/i/round.html
https://qiita.com/ryoff/items/0eb270fbc8de96cf158f