- 概略
日本語入力環境があるWeb-Browserにおいて日本語を入力しても、Web-BrowserはWeb-Serverに英数字の並びとして送信しています。
なので、送るべき文字列をあらかじめ調べておけば、日本語をBrowserに入力できなくてもOKなのです。
- 検索文字列が入ったファイルを作る
Muleを使います。文字コードをEUCにしてファイルを作ります。具体的には
M-x set-file-coding-system
として
*euc-japan*
を設定します。
- 検索文字列を調べる
Unixのコマンド od を使い、16進数にてファイルの内容を表示させます。
作ったファイルが file.txt だとすれば、次のようになります。
検索文字列は、「遺伝的アルゴリズム」です。
% od -tx1 file.txt
0000000 b0 e4 c5 c1 c5 aa a5 a2 a5 eb a5 b4 a5 ea a5 ba
0000020 a5 e0
0000022
- 入力文字列を作る
これをもとに、Browserに与える文字列を作ります。
1バイト単位で、%をつけます。
左側のアドレス部分は不要です。
データの最後の0aがついていたらそれは不要です。改行を入れてしまっています。
上の例では、下のようになります。
文字列相当データを取り出す。
b0 e4 c5 c1 c5 aa a5 a2 a5 eb a5 b4 a5 ea a5 ba a5 e0 0a
% をつける
%b0%e4%c5%c1%c5%aa%a5%a2%a5%eb%a5%b4%a5%ea%a5%ba%a5%e0
- nkf が使える人は
nkf/sed のコマンドが使えるならば、3./4. に対し、文字コードを気にせずファイルを作り、
% nkf -e (ファイル名) | od -tx1 | sed 's/ /%/g'
などと出来ます。出力は
% nkf -e zzz | od -tx1 | sed 's/ /%/g'
0000000%b0%e4%c5%c1
のようになるので、最初の%以下を取り出します。
- Browser に食べさせる。
普通の検索文字列を入力する窓に入れてはいけません。
たとえばYahoo! JAPANの場合、URLの部分に、
http://search.yahoo.co.jp/bin/search?p=%b0%e4%c5%c1%c5%aa%a5%a2%a5%eb%a5%b4%a5%ea%a5%ba%a5%e0
なんて感じで食べさせます。
URLに入力する構文は各検索サイトによって異なるので、検索文字列にxなどと適当な文字列を食べさせたあとの、Locationの所の表示を元に考えます。
例えばYahoo! JAPANであれば、検索文字列にxと入れると、
http://search.yahoo.co.jp/bin/search?p=x
などとでます。
"p="以下の構文は、次の通りです。
スペース +
" %22
例えば、検索文字列に
遺伝的 アルゴリズム
と入れる場合、
遺伝的 %b0%e4%c5%c1
アルゴリズム %a5%a2%a5%eb%a5%b4%a5%ea%a5%ba%a5%e0
なので、
p=%b0%e4%c5%c1+%a5%a2%a5%eb%a5%b4%a5%ea%a5%ba%a5%e0
となります。