ajaxでニコニコのコメントを取得 & 応答結果をパースする
ニコニコAPIには動画のコメントを返却してくれる機能がある。
以下のようにニコニコ・コメントサーバに対してpostリクエストを送ると、動画のコメントを返してくれる。
■ニコニココメントサーバ・URL
http://msg.nicovideo.jp/10/api/
(※取得したい動画によってこのURLは異なる)
■POST内容
<packet><thread thread="xxxxxx" version="20061206" res_from="-1000" scores="1"/></packet>
※"thread"のID値で対象の動画を指定する。"thread"のID値の入手の仕方は前回記事を参照。
↓
「ニコニコAPIを叩いてゲットした情報をjsonで返却するスクリプト」
http://absg.hatenablog.com/entry/2014/07/12/183032
■応答内容
応答結果は以下みたいなxmlが入っている。
<chat thread=xxxxxxxx" no="xxxxx" vpos="xxxx" date="xxxxxxxxxx" mail="xxx" user_id="xxxxxxxx " anonimity="1">www</chat> <chat thread=xxxxxxxx" no="xxxxx" vpos="xxxx" date="xxxxxxxxxx" mail="xxx" user_id="xxxxxxxx " anonimity="1">禿げワロスwww</chat> <chat thread=xxxxxxxx" no="xxxxx" vpos="xxxx" date="xxxxxxxxxx" mail="xxx" user_id="xxxxxxxx " premium="1" anonimity="1">市ね</chat> ・ ・ ・
■ajaxでデータ取得
以下のjavascriptコードでコメント取得しました。
var data = '<packet><thread thread="xxxxxxxx" version="20061206" res_from="-1000" scores="1"/></packet>'; $.ajax({ type: 'POST', url: 'http://msg.nicovideo.jp/xxxx/api/', data: data, dataType: 'xml', success: function(xml){ $(xml).find("chat").each(function() { console.log(($(this).text())); //コメントを表示 console.log(($(this).attr('vpos'))); //vpos(発言時刻)を表示 ); }, error: function(){ alert("ERROR:cannot get nico_comments!"); } });