にたまごほうれん草アーカイブ

はてなダイアリーで書いてた「にたまごほうれん草」という日記のアーカイブです。現在は「にたまごほうれん草ブログ」を運営中です。

日本語の検索クエリを投げるときのナゾ?

ニコニコ動画ダウンロードAPIを実装していて、アルファベットのみのクエリなら上手く取得できるが、日本語を含むクエリだと検索結果が0件になってしまうことがあった。
どうやら、クエリをエスケープするとき、一度だけではなく二度エスケープしなければならないらしい。
つまり、検索結果を取得するためのURLを作るときに、

BASE_URL='http://www.nicovideo.jp'
@search_type = 'search'
@keyword = CGI.escape(keyword)
url = "#{BASE_URL}/#{@search_type}?ref=top&s=#{@keyword}"

ではなく、

BASE_URL='http://www.nicovideo.jp'
@search_type = 'search'
@keyword = CGI.escape(CGI.escape(keyword)) # ←2回エスケープ
url = "#{BASE_URL}/#{@search_type}?ref=top&s=#{@keyword}"

としなければならないらしい。なぜだろ?

ニコ動ダウンロード用gem更新(ver 0.1.0)

以前言っていた通り、検索機能とランキング取得機能を追加したので、バージョンを0.1.0としてリリース致しました。
今回の主な変更点は、以下の通りです。

例によって使い方のサンプルなどはまた後日。