まめ畑

ゆるゆると書いていきます

ニコニコ大百科簡易検索用API作ってみた

少し使う事があったのでニコニコ大百科の単語記事検索用のAPIをPipesを使って作ってみました。
検索したい単語を入れてアクセスするとニコニコ大百科の単語記事検索の結果を返します。
取得するのは記事名のみです。自分仕様になっているのでご了承下さい。


また、PipesにXpth用のモジュールがなかったのであわせて作ってみました。
YQLモジュールを使えばXpathを使用出来るのですがそれを薄くラップした物です。
使いにくい部分や機能追加はcloneして自由に改造して下さい。


検索APIPipes: Rewire the Webから使用出来ます。
queryに検索したい単語、pageパラメータはオプションで入力しないと1ページ目を取得します。
2ページ目以降は{1,2,3,・・・}といった感じでアクセスします。
1ページ目を0としています。


検索結果をRSSで取得すると(ニコニコ動画 を検索)

<?xml version="1.0"?>
<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:yt="http://gdata.youtube.com/schemas/2007">
   <channel>
      <title>NicoDic Search</title>
      <description>ニコニコ大百科の単語検索用</description>
      <link>http://pipes.yahoo.com/pipes/pipe.info?_id=5a3b17487c98c870fbeb88b49766fd03</link>
      <pubDate>Sat, 15 Aug 2009 04:53:24 -0700</pubDate>
      <generator>http://pipes.yahoo.com/pipes/</generator>

      <item>
         <title>80</title>
         <guid isPermaLink="false">5a3b17487c98c870fbeb88b49766fd03_d41d8cd98f00b204e9800998ecf8427e</guid>
      </item>
      <item>
         <title>ニコニコ動画(DQIX)</title>
         <link>http://dic.nicovideo.jp/a/%E3%83%8B%E3%82%B3%E3%83%8B%E3%82%B3%E5%8B%95%E7%94%BB%28dqix%29</link>

         <guid isPermaLink="false">5a3b17487c98c870fbeb88b49766fd03_8a175b459fa3f931972c4edeb450b531</guid>
      </item>
      <item>
         <title>ニコニコ動画における「課題曲」</title>
         <link>http://dic.nicovideo.jp/a/%E3%83%8B%E3%82%B3%E3%83%8B%E3%82%B3%E5%8B%95%E7%94%BB%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%80%8C%E8%AA%B2%E9%A1%8C%E6%9B%B2%E3%80%8D</link>
         <guid isPermaLink="false">5a3b17487c98c870fbeb88b49766fd03_d4282b5199c43a7a96b14b1bd88020f6</guid>
      </item>
</rss>
<!-- fe2.pipes.sp1.yahoo.com uncompressed/chunked Sat Aug 15 04:53:24 PDT 2009 -->

このように取得できます。
1つ目のitem要素には検索結果数が入っています。
1ページで20件表示しているので、この検索結果の場合4ページまであります。(pageパラメータでは3)
記事投稿の新しい順に並んでいるので、RSSリーダなどで見るもよし、jsonで取得してごにゅごにゅするもよし。
良かったらご使用下さい。


簡易xpathモジュールはPipes: Rewire the Webからご使用下さい。
このモジュールは他のモジュールのXpathの処理部分で使用される事を前提にしています。
RSSやPipesのRun Pipesの画面では結果は表示されませんが、json形式で出力するとcontentの箇所に結果が入っています。
urlにurlモジュールなどからのURLを、xpathには所望のXpath式を入力してください。
ダブルクオートなどで囲む必要はありませんが、式中は「'」で文字を囲んでください。


作ったPipesの一覧Pipes: Rewire the Web


Validなサイトでないと使えないみたいですが、YQL面白いですね。envファイルでDBを作るイメージです。
今度作ってみようと思います。