Search This SiteをYahoo!検索Webサービス+Ajaxで

まず、ただの恥さらしエントリということを最初に宣言しておきます...........
 
Yahoo!検索Webサービスを使った割とありがちなサイト内検索(Ogawa::Memoranda) を見て、
 
「激烈Coooooool!!!」
 
と思い、このサイトに入れた顛末を書いておきます。現在右サイドバーで動いています。
 
あいかわらずぐだぐだで長いです。かつ、レンタルブログな人は入れられないと思いますので、飛ばしてください。
また、MT等で入れてみたい人は、最後のトコだけ読めば十分です。あとはゴミですw
 


[12/14(水) 夜]
いつものようにすんすんすーんと巡回しているうちに、かの有名なOgawaさんのところでエントリを見つけました。で、サイト検索のところをやってみると....おおーかっこいいー。
 
サンプルコードも上がっているし、これは当然やってみようと。
11/30の みんごるオフライン概要 というエントリで書いたように、php+javascript(Ajaxライブラリ利用)という仕組みは知識0状態から作ったことがあるわけで、なんかいけるんじゃないかというオゴリたかぶった気持ちもあったようです(涙
 
 
Ogawaさんのサンプルコードは、cgi+javascript(Ajax)という仕組みで、私はcgiに関しては例えて言えば
 
 
1+1=2 も知らない(爆
 
 
ようするに相変わらず基礎知識0の状態のままやりはじめたというわけです。しかも基礎知識0という認識もあんまないという....まぁいわゆる○○は死ななきゃ(ry という状況。
当人としては「サンプルコードあるし、サイトのソースも見れるわけで、全然楽勝」と思ってました。
 
 
 
さて、まずいきなりここのサイトのMovableTypeに組み込んでみる......動かない......
なんだかわかんないけど動きません。というか、javascriptがらみは動かなくても何がなんだかわからないし、cgiはわからないからブラックボックスだし....みたいな。
 
次にysearch.htmlというサンプルのコードを動かしてみる.....動かない.....
最初 /search においていたので、トップに持っていってみる....動かない.....
 
OperaじゃなくてIEでやってみても動かない....うー
 
FastCGI版という .fcgi もあるのでそれでやってみるけど動かない...(これは多分FastCGIというものが入っていないとダメなのだろうというようには思ってましたが)
 
ロリポがくさってるのかもしれないと思い、みんオフで借りているさくらインターネットでやってみたけど動かない....しかもエラーの出方は2つのレンタル鯖で異なる....
 
サンプルコードといっても複数ファイルあるわけで、そのソースをざらざらっと見ると疑問点も出てくる......
 
 
 
この時点で、自分としては、可変変数が

ソースの疑問点×2 / ロリポ・さくら / IE・Opera / ソース内のURIの記述方法はどうすりゃええんや(フルパス・相対パス) / cgi・fcgi / えとせとらえとせとら.....

みたいにcaseがもう発散しまくっていて何が何だかわからなくなり、ここまで2時間くらいはかけたと思うけど自力での解決は無理と判断。コメントで教えを乞うことに決定。12/15 01:07付でコメントsend。
 
 
多分Ogawaさんは、コイツなんだ? と思ったことでしょう。
というのは、当たり前の基本が何にもわかってなかったからですwwwwwww
 
 
 
ちなみにこの後、例のドリコムRSSの件を書きはじめたら3時。寝たの6時とか? orz
 
 
 
[12/15(木) 夜]
この日は出張で夜から名古屋。名古屋のホテルでLAN接続で巡回&更新...と。その後、この件の続きを開始。
 
Ogawaさんから、1. JSON.pmというのがいるのよ 2. cgi単体でも動作確認できるようになってますよ というコメントを頂いていました。
 
 
 
実はこれって、多少cgiに関する知識があれば、すぐにわかることなわけですwww ひー
 
 
 
で、頭の悪い私はそんな常識などつゆ知らず 「ほほうそーなのか」 と思って、ぐぐって、それらしきものを入手。cgi動かない....。
 
でも今度はcgi単体で動くということがわかっているので、そこに重点を置いてテスト....
あ、JSON.pmって、どうもサブディレクトリにもファイルを置く必要があるらしいのね....と思い、ぐしゃぐしゃやっているうちに......
さくらインターネット側で動きました!!!!!
 
でもロリポで動かない orz
なんで同じようなことが動かねーんだよ! と思いつつ、もう限界なので就寝....ってまた4時かよ! みたいな。
 
 
 
[12/16(金) 夜]
仕事で忙しいわけでもないのに、ずっと4.5時間以上連続で寝ていないような気がw
こないだから乾燥のせいか腕とか背中に発疹でまくりで、病院いって薬もらったりしたのですがちっともよくならないのは寝ていないせいですかそうですか。ついでに飲み薬全然飲んでねー。
(そもそも巡回その他が長すぎるだけで、この導入のせいでもなんでもなかったりしますw)
 
ハタと気づきました
 

#!/usr/bin/perl -w
 
use strict;
use CGI;
use LWP::Simple;
use XML::Simple;
use JSON;
(以下略)

use JSON; ってのが、JSON.pmを使うってことなのねwwwww
 
ということは、LWP::Simple とか XML::Simple とかもいるんじゃないの、と。
 
 
ぐぐってみたところ、なんかありますね。/LWP/Simple.pm /XML/Simple.pm をロリポに置いてみました。
 
動きました..........................
 
 
 
というわけで、うちのロリポでの状況をまとめておきます。
 
(/)
index.php (MTのトップページがここにあるという意味)
・・・・
 
 (/search)
  AjaxClient.js
  Ysearch.js
  ysearch-json.cgi (permission:755 でいいのかなw)
  JSON.pm
 
  (/search/JSON)
   Converter.pm
   Parser.pm
 
  (/search/LWP)
   Simple.pm
 
  (/search/XML)
   Simple.pm
 
結局try&errorだけで、全然中身の理解その他はできてませんが...なんかしら独自にしてみたいかも。
あと、さくらインターネットレンタル鯖だと LWP::Simple、XML::Simpleは入れなくても動くみたいですね。
とりあえずこれから入れてみたい人へのアドバイスとしては、cgi単体で動かすことができれば、あとはまぁどうにかなるはずです。
 
Ogawaさん、ありがとうございました!
 
 
 
# どうでもいいことなのですが、Yahooだと VIP STAR で検索すると、これがひっかからないw
# 同じようなもののGoogle版があればいいのになぁ... Googleはこういう取り組みしないのかなぁ

Track Back [1]

Track Back URL

Yahoo! デベロッパーネットワークで遊んでみる

検索サービスで順位を調べる仕組みができないかと思いYahoo! デベロッパーネッ... 続きを読む

コメントする

公開されません

(いくつかのHTMLタグ(a, strong, ul, ol, liなど)が使えます)