頑張って、長続きしたい。

メモ書きをひたすら書く。継続は力なり。

ニコニコ動画検索APIが公開されたので触ってみた。

ニコニコ動画の公式から検索用APIが公開されてたのでPythonで関数にしてみた。

ニコニコ動画 『スナップショット検索API』 ガイド


ちなみにPythonは勉強したてなので,Pythonの練習も兼ねて。

# coding:utf-8

import urllib2
import json
import sys
import codecs
sys.stdout = codecs.getwriter('utf_8')(sys.stdout)


def nico_search(query, service=['video'],
                search=['title', 'description', 'tags'],
                join=['cmsid', 'title', 'view_counter'],
                issuer='nico_api'):
    req = urllib2.Request('http://api.search.nicovideo.jp/api/snapshot/')
    req.add_header('content-type', 'application/json')

    data = json.dumps({'query': query, 'service': service, 'search': search,
                       'join': join, 'issuer': issuer})

    res = unicode(urllib2.urlopen(req, data).read(), 'utf-8')
    return res

if __name__ == '__main__':
    res = nico_search('初音ミク')
    print res
{"dqnid":"08744ec3-0b3b-4b73-b942-5c46f5351fa8","type":"hits","values":[{"_rowid":0,"cmsid":"sm23720459","title":"初音ミク","view_counter":581},{"_rowid":1,"cmsid":"sm19065818","title":"初音ミク","view_counter":54},{"_rowid":2,"cmsid":"sm15309998","title":"初音ミク  綠光","view_counter":322},{"_rowid":3,"cmsid":"sm22962024","title":"初音ミク","view_counter":148},{"_rowid":4,"cmsid":"sm23739051","title":"初音ミク2","view_counter":216},{"_rowid":5,"cmsid":"sm23486084","title":"Google × 初音ミク CM","view_counter":389},{"_rowid":6,"cmsid":"sm3027541","title":"MUGEN初音ミク","view_counter":2116},{"_rowid":7,"cmsid":"sm22908770","title":"LEGO 初音ミク","view_counter":105},{"_rowid":8,"cmsid":"sm24514916","title":"初音ミク bgm1.mp4","view_counter":31},{"_rowid":9,"cmsid":"sm20491983","title":"初音ミクprojectDIVAf OP","view_counter":130}]}
{"dqnid":"08744ec3-0b3b-4b73-b942-5c46f5351fa8","type":"stats","values":[{"_rowid":0,"service":"video","total":230168}]}
{"dqnid":"08744ec3-0b3b-4b73-b942-5c46f5351fa8","endofstream":true,"type":"hits"}
{"dqnid":"08744ec3-0b3b-4b73-b942-5c46f5351fa8","endofstream":true,"type":"stats"}

検索キーワードを指定すると検索結果(今回は動画ID・タイトル・再生数)が返ってくるだけ。
超シンプル。

まだまだオプションがあるので、弄ってみようと思う。

一応Githubにも公開しておきます。
https://github.com/otomarukanta/nicosearch