検索フォームをWebページに作りたいです。検索語をエンコードして送る文字列を書き換えれば検索ができるサイトが大半なので、フォームからこの文字列を生成して検索ができるようにするにはどうすればいいですか?

例えば、価格.comなら、「http://www.kakaku.com/txtsearch/txtsearch.asp?SearchWord=」を接頭に、「&TopCategoryCD=&CategoryCD=」を接尾にして、間に入れる検索語をShift JISでエンコードすれば検索できます。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/08/02 21:01:33
  • 終了:--

回答(3件)

id:k318 No.1

k318回答回数2622ベストアンサー獲得回数22004/08/02 21:29:28

ポイント20pt

http://www.google.co.jp/intl/ja/searchcode.html

リンク、検索機能を追加

Google の検索ボックスを設置することでは、どうでしょう。

id:spirits

説明不足でスミマセン。

Web検索ではなく特定のデータベースの検索を埋め込みたいと考えています。

当方、Macを使っているのですが、「iSeek」という便利なソフトがあり、ほぼどんなサイトの検索機能も取りこめます。

http://park.zero.ad.jp/pautha/iSeekHelp/addasite.html

これに似た感じで、例えばヤフオクの商品検索をするとか、価格コムで最安値を調べるとかいった窓を付けたいんですが…

2004/08/02 22:03:10
id:aki73ix No.2

aki73ix回答回数5224ベストアンサー獲得回数272004/08/02 22:26:28

ポイント20pt

http://www.cresc.co.jp/tech/java/URLencoding/JavaScript_URLEncod...

JavaScriptにおけるURLエンコードの処理

でしたらJavascriptを使ってURLエンコードをしてやればいいかと思います

IE6だとUTF-8になったり、ホームページがSJIS、EUCならEUCになってしまうケースがありますがパラメータをいじれば問題なかったと思います

例えばGoogleで使う場合は

search?q=abc&ie=Shift_JIS&hl=ja&lr=

のようにie=の後に文字のエンコードを指定します

サンプルがこちらにあるので参考にしてみてください

ただ、携帯だとJavascriptが使えませんね

その場合は結局CGIに頼った方がいいでしょう

id:spirits

ありがとうございます。

はい、Javascriptを使ってURLエンコードができるのは一応知ってはいたのですが、

それを検索フォームから実行するのが難しそうで…。

しかも、接頭URLと接尾URLの間に挟むとなると、できるのかどうか知りたかったんです。

やはりCGIを使った方がいいんでしょうか…。

でも、そうなるとページに埋め込みするのはできませんよね(>_<)

2004/08/02 23:00:27
id:aki73ix No.3

aki73ix回答回数5224ベストアンサー獲得回数272004/08/02 23:39:37

ポイント40pt

http://www.awcs.org/

HTMLタグ JavaScriptサンプルなどHP作成支援サイト:AWCS

> それを検索フォームから実行するのが難しそうで…。

例えばJavascriptでURLエンコードした結果が

関数 escape(txtField.value)で取得できるとしますよね

その場合

location.replace("

http://www.kakaku.com/txtsearch/txtsearch.asp?SearchWord="+...

価格.com - 「買ってよかった」をすべてのひとに。

(txtField.value)+quot;&TopCategoryCD=&CategoryCD=");

のようにして飛ばしたりすればいいですよ

要するに単純な文字列の結合でいいわけです

これだけの処理ならばJavascriptでも問題ありません

検索窓のフォーマットがよくわからないので、ちょっと中途半端なアドバイスですが、こんな具合で他にも応用できるはずです

http://ash.or.jp/perl/socket_http.htm

Perlでブラウズ(HTTP)

また、CGIでもページ埋め込みは可能ではあります

CGIから他のホームページにアクセスしてその結果を取ってくるために、間にCGIを入れるわけです

ちょっと複雑ですが、文字コードの変換などができる分より高度なことができるのは確かです

id:spirits

どうも、ありがとうございます!

大変参考になりました。aki73ixさんのおっしゃるやり方を使えば、実現しそうですね。下のCGIのところについても、じっくり読んでみたいと思います。

JavascriptとHTML(特にフォーム送信の仕組み)をもう一度勉強して、がんばってみます!(^^)/

2004/08/03 00:48:55

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません