nekoTheShadow’s diary

IT業界の片隅でひっそり生きるシステムエンジニアです(´・ω・`)

rubyでPOST、そして「スナップショット検索API」。

rubyでPOSTってどうするんだろう」というのがふと頭に思い浮かびまして、書いてみました。

require "net/http"

# urlにはpost先のurlを、dataにはpostしたいデータを入れる。
def httpPost(url,data)
  uri = URI.parse(url)
  http = Net::HTTP.start(uri.host)
  return http.post(uri.path,data).body
end

簡単ですね。凄腕のrubyistならワンライナーもいけそう。
ただ、書いただけではつまらないということで、実践編。
利用するのはニコニコ動画提供の「スナップショット検索API」。

これは指定先のurlにjsonをpostすれば、その通りの検索結果を返してくれるもの。
postの練習(?)にはもってこいですね。

一応条件としては

  • タグ検索
    • 検索するのは「結月ゆかり実況プレイ」
      • 検索語については思いつき
  • 再生数が多い順に順列
  • 取得件数はとりあえず30件
    • 100件まで可能らしい。
  • cmsid(sm????)、再生数、動画タイトルの3つを取得

という感じでやってみましょう。

いやはや簡単ですね。なお結果は、こんなものが30件ずらりと並んでいます(あげたのは再生数1位の動画)

{"_rowid":0,"cmsid":"sm24545601","title":"【Minecraft】ゲリラクラフト 周囲に防衛線を築き地雷を張り巡らせるんだ#5","view_counter":983759}

ちなみにもっと出力を加工して、動画タイトルだけを再生数順に並べてみると、こんな感じ。

  1. "【Minecraft】ゲリラクラフト 周囲に防衛線を築き地雷を張り巡らせるんだ#5"
  2. "【Minecraft】ゲリラクラフト 周囲に防衛線を築き地雷を張り巡らせるんだ#3"
  3. "【Minecraft】ゲリラクラフト 周囲に防衛線を築き地雷を張り巡らせるんだ#1"
  4. "【Minecraft】ゆかり「メイジタワー爆破しましょう」part1【VOICEROID+実況】"
  5. "【Minecraft】ゲリラクラフト 周囲に防衛線を築き地雷を張り巡らせるんだ#6"
  6. "【Minecraft】ゲリラクラフト 周囲に防衛線を築き地雷を張り巡らせるんだ#2"
  7. "【Minecraft】ゲリラクラフト 周囲に防衛線を築き地雷を張り巡らせるんだ#7"
  8. "【Minecraft】ゆかり「メイジタワー爆破しましょう」part3【VOICEROID+実況】"
  9. "【Minecraft】ゲリラクラフト 周囲に防衛線を築き地雷を張り巡らせるんだ#4"
  10. "【Minecraft】ゆかり「メイジタワー爆破しましょう」part2【VOICEROID+実況】"
  11. "【Minecraft】ゆかり「メイジタワー爆破しましょう」part9【VOICEROID+実況】"
  12. "【Minecraft】ゆかり「メイジタワー爆破しましょう」part4【VOICEROID+実況】"
  13. "【Minecraft】ゲリラクラフト 周囲に防衛線を築き地雷を張り巡らせるんだ#8"
  14. "【Minecraft】ゆかり「メイジタワー爆破しましょう」part5【VOICEROID+実況】"
  15. "【Minecraft】ゆかり「メイジタワー爆破しましょう」part6【VOICEROID+実況】"
  16. "【Minecraft】ゆかり「メイジタワー爆破しましょう」part7【VOICEROID+実況】"
  17. "【Minecraft】ゆかり「メイジタワー爆破しましょう」part8【VOICEROID+実況】"
  18. "【Minecraft】ゆかり「メイジタワー爆破しましょう」最終回【VOICEROID+実況】"
  19. "【Minecraft】何が始まるんです? 第一次ゆかりんぴっくだ part1"
  20. "【BF4】芋スナでもゲリラ戦がしたい part1【VOICEROID+実況】"
  21. "【Minecraft】「エルダリア」美しき世界の旅 part1【VOICEROID+_結月ゆかり】"
  22. "【7 Days to Die】走るゾンビから生き残れ"
  23. "【Watch Dogs】監視する者される者【結月ゆかり実況】"
  24. "【Minecraft】何が始まるんです? 第一次ゆかりんぴっくだ part5"
  25. "【Minecraft】何が始まるんです? 第一次ゆかりんぴっくだ part2"
  26. "【Minecraft】何が始まるんです? 第一次ゆかりんぴっくだ part3"
  27. "【Minecraft】何が始まるんです? 第一次ゆかりんぴっくだ part4"
  28. "【BF4】芋スナでもゲリラ戦がしたい part3【VOICEROID+実況】"
  29. "【Minecraft】エンダーベント ゆかりとマキの共闘奇譚 1【マルチ実況】"
  30. "【BF4】芋スナでもゲリラ戦がしたい part5【VOICEROID+実況】"

再生回数上位30位に入る動画を投稿しているのはほとんど同じ人のような……
それも調べてみたいのだけれど、動画投稿者はこのapiでは取得できない模様。
ニコニコ動画さん、投稿者情報まで取得できるようにしていただけませんか。お願いします。