ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

北朝鮮をGoogle Map APIを使って見たけど、この建物、どこ?(^^;)

2006-06-26 15:59:49 | JavaとWeb

 今日は、ミサイル発射が最近話題なので、北朝鮮をGoogle Map APIを使ってみてみようと思った。
 それには、まず、北朝鮮の緯度経度が必要だ。

 ここに書いてあった。平壌駅の緯度経度
ピョンヤン駅
 http://googleearth-wiki.noblesse-oblige.jp/index.php?%A5%D4%A5%E7%A5%F3%A5%E4%A5%F3%B1%D8


えーっと、それによると緯度・経度  39.004965,125.736292
だそうだ。おおーピョンヤン駅のきれいな図が(^^)v
わくわくしますねー(かあ?)

はやるきもちを抑えてまずは、Google Map APIのアカウントをとらないと。。




■下準備

Google Map APIを使うには、Google Map APIのキーが必要で、
Google Map APIのキーを取得するには、
    なんか自分のURL?と
    Googleのアカウントが必要なようだ。

ここの本によると。。
Googleマップ+Ajaxで自分の地図をつくる本 Google Maps API徹底活用

ということで、ウィリアムのいたずらは、Googleアカウントからないので、まずは、そいつから取得することにした。
 その取得方法については、上記の本のP13からP18を参考にしてください。

一応書いておくと

・https://www.google.co.jp/accounts/NewAccount にいって、アカウントを取得する
 ただし、これはCaptchaを採用している。視覚が不自由な人のために、
 そのよこの車椅子のところを押すと音声で教えてくれるそうだ
 (ごめんなさい、今このパソコン音が出ないパソコンなので、本当に音が出るかは不明)
 でも、これ、車椅子の画像だけで、視覚が不自由な人は、分かるのだろうか??

・で、とにかく、入力すると、メールが来るので、そのメールに指定してあるところを
 クリックすると、Googleアカウントは入手できる
 ただし、ウィリアムのいたずらのところに、そのメール、英語できたんだけど。。
 えいごがわからん人は使うな!という意味か?
 そうかもしれない。アメリカ人の発想は。。

・で、グーグルアカウントを入手したら、
 今度は、本に書いてあるとおり、http://www.google.co.jp/accountsにいくと
 https://www.google.co.jp/accounts/ManageAccountに飛ばされるので、ここから
 ログインする(さっきのアカウントで)

・そのあと、http://www.google.com/apis/maps/にいく。
 そうすると、Sign up for a Google Maps API key
 って書いてあるところがあるから、そこをクリック

・うじゃうじゃ書いてあって、一番下に、よんだかどうかのチェックボックスと、
 さっきの自分のURLっていうか、GoogleMapAPIをおくところ?って
 いうのを入れるところがあるから、そこをいれて(ウィリアムのいたずらは、実は
 自分のサイトを持っているので、そのサイトの下のgmapっていうところにした)
 ボタンをクリック

・そしたら、なぜか、またGoogleアカウントを入れる画面になったので、
 アカウントとパスワードを入れた。

・そうすると、Google Map APIのキーとサンプルプログラムがでてくる。

ひえー、これでやっと、Google Map APIを取得したぞ!




■北朝鮮表示プログラム

で、ソースコードは、こんなかんじ
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>北朝鮮を見てみよう!</title>

<script src="http://maps.google.com/maps?

file=api&v=2&key=ここに自分のMapAPIのキー"
      type="text/javascript"></script>

<script type="text/javascript">
//======================================//
//	データ読み込み		  //
//======================================//
function load()
{
	if (GBrowserIsCompatible())
	{
		//	マップ生成
                  var map = new GMap(document.getElementById("map"));

		//	ズームと衛星切り替え
		map.addControl(new GMapTypeControl());
		map.addControl(new GSmallMapControl());

		//	ピョンヤンの緯度経度設定
		//	引数の最後の数字がズーム、数字が大きいほうが高い
		//	9が限界だった
         	         map.setCenter(new GLatLng(39.004965, 125.736292), 9);
      	}
}
</script>
</head>
<body onload="load()" onunload="GUnload()">

<H1>北朝鮮の図</H1>
<div id="map" style="width: 500px; height: 300px"></div>

</body>
</html>


いつもどおり、上記のソース中、 < > ¥ は本当は半角なので、それを直すのと、
後今回は、ここに自分のMapAPIのキーのところに、今、上記に記述した方法で取得した
Google Map APIのキーがはいることになります(すごくながいやつ)

なお、
map.setCenter(new GLatLng(39.004965, 125.736292), 9);

の39.004965, 125.736292は、このブログの初めのほうに書いた、ピョンヤンの緯度経度。
そのあとの数字がズームの倍率(大きいほうが拡大)




■結果

で、その結果がこれ
(著作権の都合上、図は省略します 2006年6月29日)

で、問題は、ここからなんだけど、プログラム的には、うまくいかなかったんだけど、
ひだりにある拡大ボタンをおすと、もっと拡大する。

で、テキトーなところを選んでみたら、こんなかんじ。
(著作権の都合上、図は省略します 2006年6月29日)

おおおお。。。鮮明じゃ、たてものまで、よくわかるじょ!!
(実は、もっと拡大できるけど、そうすると、建物が大きすぎて、
よくわかんないので、このぐらいにしておいた)

なお、地図のほうは、拡大できません。サテライト画像のみ。




しかし、最大の問題は、北朝鮮のことはまったくわかんないので、

いったいこの図がどこの写真なのかわかんないことと、
テポドンの発射台が見たくても、その発射台の緯度経度がわかんないことだ
だめじゃん(^^;)

どっかに、載ってるのかなあ?テポドンの位置??



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

AJAXでココログ全文検索とひっそりMP3サーチだって。

2006-06-26 10:55:16 | Weblog

検索の話題で、最近見つけたもの2つをメモメモ

まずは
ここ
【ココログ】全文検索スクリプト(cocolog_ajax_search.js)に“本文(続き)”部分まで検索するパッチ
http://furyu.tea-nifty.com/annex/#ccqlink=/annex/2006/06/cocolog_ajax_se_d6b7.html


AJAXでココログの自分のブログを全文検索サーチするプログラムについてみたい

上記のブログの中に書いてある「暴想: 自分のココログを全文検索するJavaScript」にソースのありか等について書いてあって、上記のブログは、そのパッチみたいです。

でも、ココログは使ってないのでウィリアムのいたずらは、確かめてません(というか、確かめようがありません ^^;)




次の話題

WEB 上にひっそりと置かれている MP3 の検索方法
http://music.cocolog-nifty.com/001/2006/06/mp3_search.html


ためしてみましょう
例では、すべてのサイトでしたが、日本のサイトにして、アーティストはAAAってことで、絞り込んでみると。。
http://www.google.co.jp/search?hl=ja&q=%22intitle%3Aindex.of%22+mp3+AAA&lr=lang_ja
おおおお。。。なんかでてきてますね。
もっともAAAって、めんどくさくて、こーいうう名前にしたケースもあるだろーけど。。

でも、これって。。。いいんでしょーかねー。反則技?
うーん(^^;)

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

複数メディア/デバイス対応方法と一般的に言われてる話と、問題点と対処法

2006-06-26 01:03:06 | Weblog

 エイベックスの株主総会の質問の中に、ケータイのファンクラブだけになったしまったんだけど、ケータイを使えない人にとって、デジタルデバイドにならないか?という質問が出て、ケータイとリアルの世界を(っていう言い方をしてたけど、ひょっとしてPCのこと?)一緒にしていきたいという話をしてました。

 ってことで、今日は、そのデジタルデバイドやらを解消する方法としての、複数メディア/デバイス(PC,ケータイ、紙への印刷といった切り替え)対応方法と、一般的に言われてる話と問題点と対処法についてのお話。




 で、こーいう、ケータイとPCを一緒にするって言う場合には、教科書的には、内容はXMLで記述して、XSLを各種キャリアのケータイ用、PC用、紙で出すとき用など、デバイスごとに作成するって教わる。
 そうすれば、XMLのデータ部分を切り替えるだけで、全部のメディアに修正がかけられ、XSLは、おんなじような画面については、1つ作ればいいわけだから、はじめは大変だけど、それ以降は、簡単にできると。

 で、このXMLとXSLを適切に組み合わせるサーバー側ソフトとして、Apacheのcocconを使う。これに関しては、教科書的な話なんで、ウィリアムのいたずらが書かなくってもいいかなとおもう。まあ、詳しく知りたい人は、coccon関係でも、検索かけてくらはい。




 ただ、これで問題解決か?っていうと、そうでもない。

・画像の大きさ、解像度
・ケータイと、パソコンの画面が違いすぎる。紙に出すと、もっとひどい
・CGIがからむと。。。とくに決済なんかはぜんぜん違うし。。

ってことで、すなおに共通化させると、逆に複雑になっちゃう。
なんで、そー言う場合は分けて作成したほうがいいかもね(ケータイ用決済とパソコン用決済とか)。

それと、ケータイ用の画面をそのままパソコンにつかうと、間延びしちゃう場合なんかは、

パソコン用
スキン

ケー
タイ
画面


のようなかんじで、

・パソコン用スキンの部分は、動かさないで
 (あるいは、パソコン用の別画面として動かして)
・ケータイ用画面を左側にもっていって、
・ケータイと同じ画面の大きさで、ケータイの内容で動かす

というのも手かもしれない(実際に作って確認しているわけではない。ただ、そう思いついた)。
この場合は多分、はじめにPCだったら、フレームの画面のHTMLをよびだし、そのHTMLからケータイの画面を呼び出すって形になるのかもしんない。




 ってなことで、XMLにすれば、ワンソース、マルチメディアみたいなこと言われるけど、実際には・・・どーなんでしょーねえ。。?



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

のまねこ問題について松浦氏総括 エイベックス株主総会

2006-06-25 19:24:59 | Weblog

 今日のエイベックス株主総会で、エイベックスグループホールディング代表取締役社長の松浦勝人(MAX松浦)氏は、昨年おこったいわゆる「のまねこ」問題について、書面質問に回答する形で、以下のような発言を行った。
(すみません。録音禁止なため、うぃりあむのいたずらがとったメモをもとに書き起こしていますが、正確には書き取れなかったので、多少はちがっているかもしれません。一般質問を受ける前の発言です)

・のまねこ問題とは、もともと、恋のマイアヒがいわゆる空耳で聞こえる内容をフラッシュ作品として出されたものに対し、作者に、オリジナルから新しいフラッシュ作品を作ってもらってそれを楽曲につけたことからはじまった。

・それが好評だったため、新しいフラッシュから、のまねこグッズを作成した。

・しかし、モナーのアスキーアートを利用した、一方的なビジネスであり、エイベックスのアーティストを大切にする考えと合わないため、エイベックスが受け取るロイヤリティ分をうけとらないことにした。

だそうです。違いがあるかもしれないので、もし、ここの部について詳しいことが知りたい人は、今日の総会の動画がでるかどうか、わかんないけど、もし出たら、確認してみてくださいませ。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ブログ発展史

2006-06-25 07:52:51 | Weblog

 ウェブ進化論のツッコミ、今回はブログについて。
 P136から書いてあるお話なんだけど、これは、日本の社会には、合わない論理だと思う。

 なぜなら、ブログが流行る前に、日本では、メルマガが流行っていた。
 表現したいというならメルマガでいい。

 さらに、議論したいのなら2ちゃんねるのような掲示板でいい。

 なので、「ブログが流行った理由」にはなっていない。
 このため、それ以降の議論が、無茶な議論になってしまっている。

 ってことで、「ウェブ進化論」が、ここまでの独断と偏見を書いているなら、ウィリアムのいたずらが、独断と偏見を披露してもOKだろうっていうことで、ブログ発展史と題して、ブログがひろまった理由なんかについて、独断と偏見を述べてみたいと思う。




■ブログ初期(ライブドアブログが有名になる前)
 ブログのはじめのころ。このころ、なんで、人が増えたかというと、人が見てくれる「しくみ」があったから。

 つまり、PINGによって(ネットワークのPINGとは違う。ブログのPING)、更新情報がサーバーにつたわり、そこで、更新されたページをみてくれたこと。
 さらに楽天日記の場合、ランダムというのがあって、ランダムで、たまたま見てくれる人がいたこと。
 楽天の場合、そのうえ、自動巡回っていうBOTを作る人がいて、その人が、見て足跡をのこしてくれた(これには、後に賛否両論がでる。否定的な意見が多いが。。)

 というようなかんじで、書くとかならず誰かが見てくれた。

 Webで書いた場合、そんなことはなかった。
 一方、メルマガもある程度の読者は確保できたものの、ブログのほうが、メルマガの場合よりか気楽に書ける。
 そんなことで、ブログを書き始めた人は多いんじゃないかと思う。

 つまり、「気楽さ」と「見てくれる人の多さ」




■エログ降臨

 そんな中で、ブログの中で、ライブドアブログが頭角を現してきた。

 理由は、アダルトブログというのがあったから。

 記憶が確かなら(間違っているかも)たしか、アダルトのコーナーを作った理由は、いろんな分野を満遍なくいれるということだったら、アダルトもいるだろうっていういい加減ゴキゲンな理由だった気がする。

 とにかく、ブログの中でアダルトブログが流行りだし、それがSPAにより、エログとして、特集を組んで取り上げられるにつれ、ブログは広まっていった(ほんとかいな?)




■ブログの女王登場とアクセスアップとしてのトラックバック

 そんなことで、ブログがひろまっていった。

 このころになると、ブログは、日記に近くなってきた。
 そのうち、眞鍋かをりさんがブログの女王とよばれ、ブログの認知度があがっていった。

 このころになると、ブログがWebと違い広まった理由がさらに増えてきた。
 1つは、メールに返答するだけで、ブログが更新されるという、簡単な方法でOKになったこと。なので、続けやすい。とくに、ケータイから送れるようになったのがおおきい。

 それと、トラックバック、とくに、有名な人にトラックバックをすると、確実にアクセスアップにつながった。それが、ホリエモンの社長日記だった。

 もっとも、これが、トラックバックスパムにつながっていくわけでもあるのだが。。




 う、つぎに、<<マスコミの信用が崩壊して、「ビックル一気飲み!」>>っていう話を書こうと思ったんだけど、また、気が向いたときに描くのだ。。

 ということで、まとめもない(そのあとブログランキングネタをかいて、さらにそのあとに書こうと思った)ので、ぜーんぜんまとまってない、散漫な文になってしまった。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

渋谷から六本木へ(2000年~)のITベンチャーを下の目線でまとめてみる

2006-06-25 00:47:52 | Weblog

 最近、ウェブ進化論にツッコミをいれていますけど、その中でもちょっと気になるのが、91ページの「楽天の三木谷氏やライブドアの堀江氏は、テクノロジーへの関心が薄いという表現だ。

 Java Houseで、Javascriptについての質問に孤軍奮闘?していたオンザエッジの堀江氏の話は、まあ、知られていて、(すみません。どこに実物があるかわすれた。このブログのどっかにリンク先かいてあるかも?)かならずしも、ホリエモンが技術軽視をしていたとは、言いがたい。
 だからこそ、AJAXで、壁紙(スクリーンセーバー?)を作成し、株画や動画を再生するというシステムを作ろうとしていたわけだろう。

 しかし、このシステムも、技術の話というよりかは、金融界における庶民の自由を解放する最終兵器となるべきものであって、たんなる技術論で片付く話ではなかった。
 ホリエモン逮捕により、この夢は潰えては、いるわけだが。。

 むしろ、問題は、技術重視から、IT業界は、なぜ、カネの話に変わったのか?生活密着にかわったのかの部分について、ウェブ進化論は、かいていない。

 これは、上のエリート層には、どーでもいいことなんだろう。

 しかし、ゴキブリのように、IT業界の下の社会をはいまわり、おいしいエサを探し回っていた、ウィリアムのいたずらには、その変化と理由がはっきり見える。

 エリートたちの優雅なお話とホリエモン批判は、ウェブ進化論にまかし、ここでは、当時、ゴキブリの視点から見た、日本のITギョーカイの変化を、独断と偏見で話してみたい。

 なお、あくまでも独断と偏見なので、ご意見無用だ!




■2000年ごろ。。広告で儲けることに限界を感じた

 2000年ごろの日本、まだ渋谷がビットバレーなんていわれてたころ。。
 あのころ、投資したい人が山のようにいた時代だった。
 で、その投資家は、あきらかにおかしな動きをした。

 Webや、セキュリティと名前がつけば、それだけで、投資対象とみていたのだ。。

 いまのWeb2.0みたいなかんじ。

 しかし、そんな一方で、投資家以外、とくにウィリアムのいたずらみたいな、最底辺のゴキブリの視点で事業構成をいじくってる人間にとって、広告ビジネスは将来的に無理かな。。っていう感触もあった。

 実際に社長失格っていう本がでて(この本は、宣伝を利用したインターネットビジネス会社ハイパーネット社の倒産劇を書いた本)きていたし、論理的にむりだよねーという機運もあった。

 その理由は、放送は、CMを飛ばしてみることはできない(ビデオはできる、だからCM飛ばしが問題になる)でも、インターネットのページにCMを入れた場合、あんまり見てくれない。ましてや検索なんかにCMをいれても、検索結果が見たいのであって、べつに広告を見たいわけじゃないから、クリック数は上がらないのは、ある意味当然だったりする。。

 でも、インターネットにCMを入れて。。。というと、投資家がお金をだすので、この分野を進めていっていた。でもみんな、これに限界があるよねーということは、底辺で事業を企画する人間は、なんとなく気がついていた(上の人や投資家は気づいていない。今も気づいてないかも?)。

 そして、これは、昔のプロバイダのライブドアが事業に行き詰まり、ホリエモンのオンザエッジが買収することにより、一段とはっきりすることになる。




■物品は儲かる!

 そんななか、CM事業だけでは立ち行かなくなることに気づき始めたので、なにか、儲かる事業がみんな欲しくなった。そのとき、目をつけたのが、オークションや物品販売だった。

 楽天は手数料収入で、当時事業的に成功していた(今もしている?TBS買収でおかしくなった?)。みんな、思い始めた。CM事業より、物品販売事業支援のほうが、儲かるんじゃないか?

 手数料収入だけで。。

 とくに大きかったのは、日銭がはいってくることだ。

 CMは所詮イメージと視聴率(それも当時はインターネットの視聴率のだしかたなんて、決まってなかった。今もないか?)の世界だ。いつ、失敗するかわかんない。ハイパーネットのように。
 でも、幅広く日銭が入ってくる物品は、もちょっと安定性があって、大きなお金が入ってくる予感がした。

 そこで、みんな物品に走った。
 YAHOOオークション、ライブドアデパートも、こんな考えの延長ではないかと思う。
 広告ビジネスの将来的な行き詰まりをにらんで。。

 が、物品をみんながやりはじめたころ、さらに、それ以上に儲かるものをみつけてしまった。




■金融はもっと儲かる!

 ずばり、金融業だ。

 松井証券の登場により、手数料が自由化となり、オンライントレードがあたりまえになり、信用取引の敷居を思いっきり低くした。

 これにより、オンライントレードがあたりまえとなった。
 証券会社というのは、大きな金額がやりとりされる。
 財務諸表上、おおきく貢献するものなのだ。

 そこで、これらをとりこもうと思う会社が増えた。

 さらに、ポイント制や決済など、お金が儲かるビジネスが、いっぱいアル。

 ここで、みんな、金融業をビジネスに取り組むことを考えた。




■技術だけでは、やっていけない

 そのうち、技術的なことを追っかけて行っても、お金的にやっていけないということになってきた。なぜか。。。

 銀行がIT業界を(もっと時代が進むと、すべての業界を)貸し渋ってきたから。
 本格的な貸し渋りは、もっとあとだが、それ以前からも、銀行からお金を借りるより、金づる(どこからともなく投資家が現れた)から、お金をひいたほうが、引きやすくなった。

 逆にいうと、金づるがいないと、ビジネスは成立しなくなっていったのだ。

 金づるに事業提案するのは(銀行もそうなんだけどね)技術がどーのこーのというよりかは、お金を回収するのに、どーいう絵を描くんかい?っていうほうが、重要になった。
 ってことで、ビジネスモデルを作る場合、
・業務の流れ
・カネの流れ
・情報の流れ
をびっちり押さえて、そのなかに、最近話題の技術用語をちりばめ、事業計画を書くという形になってきた。そーすると、技術だけの話をしていられないということだ。

 そうなってくると、技術論というよりかは、ビジネスとして、どう儲かるんかいということのほうが、日本では重要になった(これは悪いことじゃない。つーか、当たり前のこと。カネを引き出すのに、根拠がないで引き出したら、そりゃー詐欺だ)




■まとめ

 つまり、日本では、カネを引き出すために、技術論からビジネスに、かわっていったということだ。まあ、当たり前なんだけどね。
 で、ビジネスを追っかけているうち、物品から金融にうつっていったということだ。

 ただ、今また、技術にもどってきている。
 Web2.0って、かまびすしい。
 なぜか。。。

 そう、逆の話なのだ。
 いまは、Web2.0とつけたほうが、カネが引き出しやすい。
 なので、ビジネス論から技術論に変わってきたというわけだ。

 ところが、日本では、これと同じくらい、「放送と通信の融合」って言葉も、カネを引き出しやすくなった。なので、みんなやっているというわけだ。

 これで、カネが引き出しにくくなってきたら(いま、そうなってると思うけど)また、別の話題にうつっていくと思うね。




 今度のこのシリーズ(ウェブ進化論ツッコミ)?では、ブログの話でも、書こうかな。。

 


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

本を全文検索して、該当箇所があったら、その本を買えるようにする検索システムを考える

2006-06-24 17:31:45 | Weblog

 まえに、P2P型の検索システムという話をかきましたけど、
 そのしくみで考えれば、別に、全文検索したとき、検索結果があったからって、
 その箇所を表示する必要は、ないわけですよ。

 たとえば、かりに、ある出版社があって、
 そこの出版社が出している、すべての本にたいして、
 全文検索できるというシステムを作ったとする。

 もし、これ、検索結果として、その本の内容が丸見えになったものが、返ってくるとしたら、出版社は、激怒して、著作権違反だあ!訴訟だあ!と主張するでしょう。。

 これがまさに、「グーグルブックサーチ」の考えかた。




 ところが。。。です。

・検索結果があると、その文の前後数十文字しか、表示されない
 場合によっては、「あったよ!」ということしか見えない。
  (これが、検索したとき、下に見える言葉)

・クリックすると、その雑誌社の本のところに行き、見出しと,本の様子が書いてあり
 注文できるようになっている

っていうことにすれば、これなら、出版社は、むしろ儲かるので、Goサインが出るかもしれない
というか、出版社自身がやるかもしんない。





これを実現するには、どうすればいいかというと、

・出版社は、全文検索するCGIを作成し、引数の位置とかを公開する。

・検索結果は、以下のRSSフォーマットで返すようにする
  1件ごとにitemタグでくくり、タグ内に
    title 本の題名
    link その本を買うためのページ
    description 上記に書いた、結果の数十行(本によっては、これを表示しない)
  のタグをかく

・RSSフォーマットを単純に書くと、RSSリーダーがない人は見えないので、
 gooでもやっているように、RSSリーダーでない人でも、見れるようにする

・クリックされた先の、本を買えるようにするしくみは、出版社が自社でもっていれば、
 それでいいし、そうでなければ、アマゾンを呼び出すとか、すればいい

ってことになる。

 そーすると、問題は、「全文検索するCGI」、つまり、どうやって全文検索をするか、そして、descriptionの部分を作り出すかってことになる。




 全文検索のもとになる文章は、印刷会社がもっていたりする(DTPの場合)ので、大手印刷会社が、それらのデータに対して、まあ、「なまず」みたいな全文検索(っていうか、さきにインデックスを細かく作っちゃってもいいんだけど)システムをつくるってことになる。

 で、見つかったら、その本をもとに、本のデータベースを検索する。

 本のデータベースには、その本を買える仕組みのあるページと、題名、その本の場合、descriptionをどうするか、その他情報がはいっているので、そいつを取得する。

 descriptionが前後数十文字から作るのであれば、そいつをつくって、
 返り値のRSSを作成する

ってことになる。

 このシステム、全文検索以外は特段難しくなく、全文検索のしくみってのはすでにあるので、出版社や印刷会社がやる気になれば、できそうだ!ということだ。




 さらに、こわい?のは、P2Pのシステムの場合、何段にも作成可能だということだ。

 つまり、この話をたとえばGooが、上記の検索システムをつくって、複数の出版社に話をもちかけ、出版社ごとに、こういうシステムを立ち上げたとする。そうすると、


1.お客さんは、gooに、書籍キーワード検索をかける
    ↓
2.gooは、複数の出版社の検索システムに対して検索
    ↓
3.出版社は、検索結果をgooに返す(gooから検索をかけられたから)
    ↓
4.gooは、複数の会社から集まった結果をまとめて、表示内容を作成
    ↓
5.お客さんは、gooから、書籍キーワード結果をみる

ってことによって、あたかもgooの検索結果のように、見ることが可能ってわけだ。




 そして、ユーザーが、クリックした先っていうのは、もう3の、”出版社がlink先に
書いた内容”、つまり、出版社のサイトなんで、gooはカンケーない。
お金も出版社がわに入る。

 gooは、ここで、開発システム貸し出し料でお金を儲けるっていうことになるだろう
(もっとも、全文検索システムを出版社で持つのはめんどくさいんで、それも管理して!
 っていうことで、お金が入ってくることもあるだろうが)

 さらに、このシステムの場合、gooに登録されなかったからといって、出版社は認められないわけではない。出版社独自に検索システムを出せば、みんな、それを使って検索することも可能だ。

 というわけで、googleのときとちがい、googleで検索できなかったら、存在していないことになるというわけではない。




 そして、決定的な問題は、「グーグルブックサーチ」は法的な問題があるし、もしそれをクリアしたとしても、本のデータをどーすんの?っていう問題があるが、今述べたP2P型の検索なら、技術的にも、法的にも、問題がない、つまり、やる気になれば、gooでもYahooでもできちゃう。

 さらに、出版社が出している本の全文検索サイト(見つかったら、購入画面に飛ぶ)は、出版社がやる気になるだけで、出来てしまうということだ。

 そして、検索結果をRSSで書いたとたんに、世界がひろがると。。

 そのRSSで書き出すことには、なんの難しい問題はないと。。

 こーいうところにP2P型検索の面白みがあるし、
 これに危機感を抱かないで、「グーグルブックサーチ」をへーきで言ってのけちゃうグーグルって??

 うーん。。。きっとビジネスでみんなを幸せにしようというよりかは、自分たちの世界制服しか目標にないんだなとしか、思わざるを得ない今日この頃なのだ!


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ソフトバンク、ケータイにフルブラウザ標準搭載だって

2006-06-24 16:22:54 | Weblog

 ここのニュースより

ソフトバンク、携帯電話に「ヤフーボタン」
http://www.iza.ne.jp/news/newsarticle/business/infotech/6981/

ケータイに「ヤフーボタン」をつけるっていうのは、「あっそう。。」
って感じですが、フルブラウザには、興味アリ。

 このフルブラウザ、付けるのはいいけど、

  パケット定額制を導入して、フルブラウザも対象にするか、
  そうならないか(パケット定額制対象外になるか、
          そもそも定額制を導入しないか)

 によって、成功するか、大失敗するか?の分かれ目になると思いますね。





 もし、パケット定額制を導入するなら、面白い展開ができるかもしれない
 でも、逆に、定額制でなかったとしたら、フルブラウザのほかに、定額制対象となるブラウザもいれておくなら、他のキャリアとかわんないし、もし、いれておかないで、定額制対象外のフルブラウザだけなら、「Webみると、お金かかるなら、ほかのキャリアのほうがいいや!」ってことになっちゃって、逆効果となるかも。。

 もっとも、フルブラウザといっても、Flashとか見れるの?ってことが問題になる。
 Flashとか、動画が見れれば、You TUBEを通勤中に見たりできるっていうことで、効果がおおきいかもしんない(ソフトバンク的には、YAHOO動画を見て欲しいと思うだろうが)

 ただ、ニンテンドーのDSブラウザのように、FlashやPDFが表示できないとなると、フルブラウザにしても、意味無いけどね(とくに、動画が再生できないと。。。)


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

じゃらんWebサービスを使ってみる(その2:API部分の説明)

2006-06-23 16:55:09 | JavaとWeb

 このシリーズの1回目(ここ)で、じゃらんWebサービスの、じゃらん宿APIを使って、結果を表で書き出すプログラムを紹介しました。

 なので、今回は、その呼び出す部分
http://jws.jalan.net/APILite/HotelSearch/V1/?key=guest&pref=130000&l_area=137100&s_area=137102&pict_size=1
について、説明してみたいと思います。




■じゃらんWebサービス

 まず、これらのことについて書いてある、じゃらんWebサービスについては、

ここ http://jws.jalan.net/ws/viw/U00001

に書いてあります。

で、そこの説明によると、じゃらんWebサービス 宿表示APIとは、

宿表示APIは、じゃらんnetに公開されている宿泊施設の情報を検索する機能を提供します。

だそうです。




■呼び出し形式

HTTPのGet型で、引数を指定して、
http://jws.jalan.net/APILite/HotelSearch/V1/
を呼び出します。

引数は、リクエストパラメータとして、さきほどのAPIのページにかいてあります。


ちなみに、サンプルの
http://jws.jalan.net/APILite/HotelSearch/V1/?key=guest&pref=010000&l_area=012900&s_area=012911&h_type=1&start=1&count=1
の意味は、

 keyはguest(固定)
 県prefは 010000(北海道)
 大エリアコードl_areaは012900(石狩・空知・千歳)
 小エリアコードs_areaは012911(支笏湖・千歳)
 宿タイプh_typeは1(旅館)
 表示開始startは1件
 表示件数countは1件

を示します。なお、 県、大エリアコード、小エリアコードについては、
ここ http://jws.jalan.net/content/data/area.html

に書いてあります。また、XML形式で入手したい場合は
ここ http://jws.jalan.net/content/data/area.xml

にあります。




■返り値
 正常でもエラーでもXML形式で帰ってきます。

 エラーの場合は、
 エラーについて http://jws.jalan.net/ws/viw/U05001#002
 を参照。

 正常の場合は、
 http://jws.jalan.net/ws/viw/U01001サンプルレスポンスという形で、結果がでてますね。
 で、そのタグの意味については、上のレスポンスフィールドのところに、書いてあるようです。




■そのほかのリクルートのWebサービスについて

 これらは、Sun×RECRUIT Mash up Awardで、リクルートが提供するAPIのうちの1つです。

 で、そのリクルート提供APIについて

 ほかにあるのは、
●カーセンサーラボのAPI  http://www.recruit.jp/mashup2006/api_car.html
→APIについては http://www.carsensorlab.net/webservice/

●スマッチWeb サービス(不動産物件情報)http://www.recruit.jp/mashup2006/api_smatch.html
→APIについては http://www.smatch.jp/edit/api/getBukkenInfo.html
   そこのスマッチ! 物件検索APIスマッチ! 住まいの相談、ブログ検索API
 
●フロム・エー ナビ API(の利用規約)http://www.recruit.jp/mashup2006/kiyaku_froma.html
→こいつの場合は、じゃらんなどと違い、認証キーがないと、
 アクセスできないみたい。

となっているよーです。




以上、説明終わり!

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Google Desktop APIを使うと、標準対応以外のファイルフォーマットでも検索できる

2006-06-23 14:47:54 | Weblog

 前に書いた「P2Pの検索システムって、結局、RSSリーダーの変形でできるんだけどね。」というブログの中で、これを単純に読むと「いや、Google Desktopだって、Googleが対応していない標準対応以外のファイルフォーマット、検索できますよ」っていうツッコミがきそうなので、先に書いておきます。

 ただ、最後に理由を書くけど、まだ、確認のためのプログラムを作ってないので、ほんとにできるかどうかは?




■Google Desktopでの、標準対応以外のフォーマットでの検索方法

 以下の本

 Amazon、はてな、Google、Yahoo! 4大Webサービス完全攻略
 最新WebサービスAPIエクスプロ-ラ


のP159によると(以下、斜体部分は、上記本の159ページ左側下のほうから引用)

 Google Desktop API(http://desktop.google.com/developer.html)はすでに正規版となっておち、Googleデスクトップ検索が標準で対応していないファイル形式についても検索対象とすることができます。


と書いてある。

で、どうやってというと、その上に、

Google Desktop APIを使うことで、Googleデスクトップ検索に対して、特定のファイルフォーマットを検索対象にできるようにするプラグインを作ることができます。


と書いてある。




とすると、手順は

1.Googleデスクトップをダウンロードして、インストールする
 http://desktop.google.co.jpからダウンロード可能

2.Google Desktop APIをダウンロードする
 http://desktop.google.com/developer.htmlからダウンロード可能

3.プラグインを作って、所定のところに置く

ということになると思われます(まだやってない)




■それとP2P型検索の場合との違いは

<<わかりやすい違い>>
 この方法でも、Googleがgoogleデスクトップをそのプラットフォーム用に開発してないと、プラグインは使えないわけです。
 具体的にいうと、ケータイ版、Googleデスクトップを開発してくれないと、ケータイでのプラグインは使えません(というか作れません)。
 さらに、開発の言語的な制約もあるかもしれません。

 それに対して、P2P型の場合、
 ・ケータイは、プログラム間で
 ・それ以外に関しては、HTTP経由で(ローカルは127.0.0.1、社内はサーバーのIPアドレスで)
  検索依頼をかけ、その結果をRSSで返すというだけなので、

 検索部分はだれでも自作でき、そのインターフェース(検索依頼の部分の引数指定法)だけ
 公開すれば、すぐにみんな使えるというメリットがあります。

 (ケータイの場合は、ファイル間経由となりちと違うことを考えているが、
  そのケースでも、検索依頼のファイルの書き方と結果置き場さえ公表すればOK)

 表示部分は、検索依頼をかけ、表示部分を単一化して表示するだけなので、だれでも作成可能

 ということで、Googleが対応しなくても、だれでも参入可能っていうところが違う。




<<わかりにくい違い>>
 ケータイと、会社と、外部検索エンジンという3段構成にした場合、P2P型の場合は、会社型で、社内の検索と、外部検索エンジンの検索をかけて、結果をRSSで返せばよい。

 しかしGoogle Desktop APIを使った場合、ローカルの拡張はこれでできるが、会社のデータ検索はどうする?ということになる。

 P2P型の場合は、上記に書いたとおり、やること(プログラム内容)は明確であり、プログラミング能力のあるひとなら、会社の検索部分のプログラムも作成できる(というか、これは、たしかRSSアグリゲーションとかいう話じゃなかったかな?)




■で、いま実験してない理由

ってことで、Googleデスクトップとか、入れるんですよねえ。
インデックス作っちゃうんですか。。

だいじょーぶかなあ、どっかに変な情報漏れたりしないかなあ。。
(たぶん、大丈夫だと思うけど、なんか不安)

ちょっとこのパソコン、情報が漏れたらやばいことになるパソコンなので、
どうでもいいパソコン(今、手元にない)の上でやろうかな。。。

うーん。。どっしよう(心配性なのだ ^^;)



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

じゃらんWebサービスを使ってみる(その1:仕様とプログラム)

2006-06-23 07:57:20 | JavaとWeb


 前に書いたとおり、じゃらんWebサービス(じゃらん宿API)を利用して、検索結果を表に書き出すAJAX(JacaScript)を作ったうえで、じゃらん宿APIについて説明するというお話について。

 まずは、仕様とソース(JavaScript)について、今回書いて、次回にじゃらん宿API(じゃら
Webサービス)について書きたいと思います。
 ソースはあえて説明しなくても、ここここをあわせただけなので、省略していいかなと。。(^^;)

 ということで、まずは、仕様から




■仕様
お台場・汐留・竹芝のホテルを検索し、そのイメージ(一番小さいものを取得)と、ホテル名、住所を表示します。
こんなかんじ

なお、これを取得するためのURLは、こんなかんじです。

http://jws.jalan.net/APILite/HotelSearch/V1/?key=guest&pref=130000&l_area=137100&s_area=137102&pict_size=1

このURLについて、次回説明します。




■ソースについて
こんな感じになります。

<?xml version="1.0">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<title>AJAX版?じゃらん読み取りだよ</title>

<script language="javascript" type="text/javascript">
var	httpObj;
var	timer;		//	タイムアウト用

//*==============================================//
//*	関数:httpRequest()		  *//
//	内容:XML読み取り開始		  *//
//*==============================================//
function httpRequest(target_url)
{
	try
	{
	      	if(window.XMLHttpRequest)
		{
			httpObj = new XMLHttpRequest();
		}
		else if(window.ActiveXObject)
		{
			httpObj = new ActiveXObject("Microsoft.XMLHTTP");
		}
		else
		{
			alert('エラーです');
			return;
		}
	}
	catch(e)
	{
		alert('エラーです');
		return;
	}

	//	タイマーセット
	timer = setInterval("timeoutError()",60000); //60秒にセット

	//	データを取得する
	httpObj.open("GET", target_url, true);
	httpObj.onreadystatechange = DataRead;
	httpObj.send("");

	return;
}

//*==============================================//
//*	関数:timeoutError()		  *//
//	内容:タイムアウト			  *//
//*==============================================//
function timeoutError()
{
	clearInterval(timer);	//	タイマーとめる
	httpObj.abort();
	alert('タイムアウトです');
}

//*==============================================//
//*	関数:DataRead()			  *//
//	内容:XML読み取ったあと		  *//
//*==============================================//
function DataRead()
{
        if ( httpObj.readyState == 4 )
	{
		clearInterval(timer);	//	タイマーとめる
		if ( httpObj.status == 200)
		{
			DataOut();
		}
       	}
}

//*==============================================//
//*	関数:DataOut()			  *//
//	内容:書き出し			  *//
//*==============================================//
function DataOut()
{
			//	返り値XMLの取得
	xtree = httpObj.responseXML;

			//	ホテルリストの取得
	hotellist = xtree.getElementsByTagName("Hotel");

			//	書き出し
	buf = "";
	for(i = 0 ; i < hotellist.length ; i ++ )
	{
		//	1件分のホテルデータ取り出し
		hotelnode	= 	hotellist[i];

		//	各種データ取り出し
		PictureURL = hotelnode.selectSingleNode("PictureURL").nodeTypedValue;
		HotelName = hotelnode.selectSingleNode("HotelName").nodeTypedValue;
		HotelAddress = hotelnode.selectSingleNode("HotelAddress").nodeTypedValue;

		//	追加するホテルの行を生成
		newtr = document.createElement('tr');
		newtr.id = 'item' + i;
		document.getElementById('table').appendChild(newtr);

		//	ホテル画像
		newtd = document.createElement('td');
  		newtr.appendChild(newtd);
 		image = document.createElement('img');
  		image.src = PictureURL;
  		newtd.appendChild(image);

		//	HotelName追加
  		newtd = document.createElement('td');
  		newtr.appendChild(newtd);
 		mojiretu = document.createTextNode(HotelName);
  		newtd.appendChild(mojiretu);

		//	HotelAddress追加
  		newtd = document.createElement('td');
  		newtr.appendChild(newtd);
 		mojiretu = document.createTextNode(HotelAddress);
  		newtd.appendChild(mojiretu);

	}

}

</script>
</head>


<body bgcolor="#ffffff"  onload="httpRequest(
 'http://jws.jalan.net/APILite/HotelSearch/V1/?key=guest&pref=130000&l_area=137100&s_area=137102&pict_size=1')">

<H1>東京のお台場・汐留・竹芝あたりのホテル</H1>
<table border=1>
	<tbody id="table">
	</tbody>
</table>
</body>
</html>

(上記の< > ¥ は、本当は半角です)



では、このシリーズの次回(いつ書くかは未定)で、上記ソースで発行したURLについて、つまりじゃらんWebサービスについてを説明したいと思います。




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

P2Pの検索システムって、結局、RSSリーダーの変形でできるんだけどね。

2006-06-22 21:29:23 | Weblog

 yooseeさんからいただいたコメントのお返事にも書いたとおり、いままで、P2Pの検索システムってかいてきたけど、それが、どーいう仕組みなのか、っていうことを書かないと、どこが、どうすごいんか?っていうことが分かりませんよね。
(技術的にはまったくすごくありません。コロンブスの卵です。でも、結果はすごいんです)。

 ということで、今回は、そのしくみについて、書きたいと思います。




■しくみ
 表示部と検索部にわかれます。




■表示部
 検索用語を入れられたら、あらかじめ、登録してある、プロパティファイルをもとに、検索用のHTTPリクエストをだし、検索結果をRSS形式のXMLで受け取ります。

 そのとき、linkにURL、titleを表題、descriptionの部分を、タイトルの下にある言葉として表示します。

 複数の検索用HTTPリクエストを出すので、同じ検索結果先が出てくる場合もありえます。その場合は1つだけ残して、あとは出力しません(同じ結果が複数出てきたほうが、優先順位が高いとかしても、いいかもしれない)。




 具体例を示します。

プロパティファイルに検索先として

ローカルファイル検索:http://127.0.0.1/cgi-bin/kensaku.cgi?p=%%SJIS%%
会社ファイル検索:http://192.168.0.1/cgi-bin/kensaku.cgi?p=%%SJIS%%
YOU TUBE検索:http://www.youtube.com/rss/tag/%%UTF-8%%.rss
YAHOO 商品検索:http://psearch.yahoo.co.jp/search?p=%%UTF-8%%&first=1&ei=UTF-8

と登録してあったとします(ほんとうは、YAHOO検索とか、Goo検索とか、入れたかったのですが、検索結果をRSSで返してくれないので、YAHOO商品検索とします)

ケータイの場合は、ローカルファイル検索のURLのかわりに、
fs:mod/モジュール名
とかなんとか、書き方を変えます。




で、検索用語に
「はいだしょうこ」
と入れられると、その表示部のプログラムは、%%SJIS%%のところはSJISの16進にかえて、
%%UTF-8%%のところは、UTF-8の16進にキーワードを変換して、検索実行のため、Webを呼び出します。

 すると、結果が上記のものの場合、すべてRSSで返ってくるので、その内容のうち、重複を単一化して、表示します。

 なお、ローカルファイル検索と、会社ファイル検索で呼び出されるkensaku.cgi?p=キーワードにかんしては、次の表示部で書きます





■検索部
 ここは、Get型で、検索対象用語が渡されるので(渡し方に関しては表示部のプロパティに記述する)、テキトーに検索を行って、その結果をRSSで返してくれればいいです。

 テキトーな検索って言うのは、たとえば、なまずをつかって、テキストファイルを全文検索するでもOK。結果をRSSで返してくれればいい。
 なんか、もっと複雑で、かつ検索対象が広い検索ソフトをつくってもOK,結果をRSSで返してくれれば、表示部でみられる。

 ってことは、Googleの社員もしらないような、フォーマットを今考えつき、検索用CGIも作った場合でもOK。その検索用CGIをローカルのサーバーにいれ、ローカルでHTTPサーバープログラムを立ち上げ、
 http://127.0.0.1/cgi-bin/その検索用プログラム.cgi?word=%%SJIS%%
みたいなかんじで、プロパティファイルに書き出しておけば、(そのプログラムはwordに与えられた語を検索するものとする)あとは検索命令を上記フォーマットで書ければRSSで返してくれる。以降の処理は同じってこと。




 さらにいうと、社内独特の暗号をかけたもので、社員にはみせるけど、社外の人間には見せないというのでもOK!(ちょっと改造が居るけど)

 プロパティファイルに
  http://192.168.0.1/cgi-bin/kensaku.cgi?p=%%SJIS%%&pass=%%onepath%%
 みたいなかたちで、かいておいて、

 起動時にサーバーからパスワードを受け取り、
 そのパスワードを、検索時、%%onepath%%にセットするっていうことにすれば、

 パスワードが適切なときだけ、暗号を解除して、検索した結果をRSS形式で返してあげればいい。
 もちろん、さらに表示部を拡張し、RSSの内容に暗号をかけ、表示側で、解除してもよい。




■そうすると、社外の検索システムに必要なことは
 検索側のシステムは、社内外とわず、検索用語が指定されたら、結果をRSS形式で返せばいいことになる。逆にいうと、この形式でないと、つかえない。

 ただ、YOU TOBEやYAHOO商品検索のように,商品以外の検索でも、RSS形式で返してくる可能性は、あると思う(ないと、作らないといけないけどね)




 で、この形式でやれば、出版物の検索は、Googleにデータをスキャンさせなくても、検索可能になるんだけど、それについては、長くなるので、別の機会にしますね。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

検索エンジンに特徴が出れば、検索エンジンのマッシュアップをすることによって。。

2006-06-22 12:05:05 | Weblog

 たとえば、野球についてなら、なんでも検索できる検索サイト、芸能人のことなら何でも検索できる検索サイトと、複数の検索サイトにいっせいに検索をかけ、その結果をまとめるということができる。

 で、これができると、どうなるか。
 現在、オントロジーを利用して、知識体系をつくり、その知識体系にそって検索するという仕組みの検索サイトは作成可能だ。なので、これらの検索サイトを多数組み合わせることによって、広範囲な物事の検索ができる。

 オントロジーを利用した検索サイトはどういう感じかというと、
 まず、知識体系をはじめつくる。
 そして検索内容を自然文で入力する。
 そうすると自然言語処理により、自然文で入力してもらった検索文を分解し、知識体系に基づいて検索する。
 この方法は、可能ではあるが(いまやっている実験もあるが)知識体系をくみあげ、DB化するのに難しい。そのため、野球とか、一部の分野での知識体系化しかできない。

 なので、もっと広い範囲を検索しようとした場合、広範な知識体系を作るというのは至難の業だ。だったら、上記のように、各専門分野ごとの検索サイトをつくり、それらのサイトにいっせいに検索に行ってしまったほうが早い。




 そして、この考えを実現するのにも、まさに先日書いたP2P型の検索システムが必要になる。
 このシステムの場合、検索サイトにWebAPIを利用して、検索をかけ、その結果をまとめる。前回の例では中継局となるサイト1つに問いかけをしていたが、もちろん、これは複数のサイトに問いかけをしても良い。

 なので、野球には詳しいサイト、芸能界には詳しいサイトなど、いろんな専門検索サイトにいっせいに検索要求をWebAPIで投げ、結果をまとめればいいことになる。
 この場合のAPIは、検索用語をGet型で投げると、RSSの形式で返してくれると、ありがたいというか、汎用性があるかもしれない。




 一方、現在のGoogleの検索は、Googleの考える体系でしか検索できない。

 世の中の知識の体系が1つに集約されるのであれば、それはそれでいいが、もし、1つに集約できなかったり、かりにできたとしても、莫大な時間がかかるのであれば、むしろ、専門的な検索サイトを複数立ち上げ、そのサイトでも見つからなかったとき、キーワード検索サイトで検索するようにして、結果をマージしたほうが、現実的である。

 そういう意味でも、P2Pの検索エンジンが、グーグル型(サーバーで全部処理)の検索エンジンを凌駕する可能性はあると思う。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Domによる、XMLデータ操作を、じゃらん宿表示APIで示してみる(その2:説明)

2006-06-22 02:30:39 | JavaとWeb

 以前のブログ「Domによる、XMLデータ操作を、じゃらん宿表示APIで示してみる(その1:仕様とソース)」で書いたソースについての説明です。




■今回説明するものについて

 ここでは、RDBの1レコード分をそのままXMLにしたようなケースを考えます。
 つまり、
 ホテルテーブルに
 ホテルID,住所、ホテル名、電話番号。。。

 などが入っているとき、それを
 <ホテル>
   <ホテルID></ホテルID>
   <住所></住所>
   <ホテル名></ホテル名>
   <電話番号></電話番号>
 </ホテル>

のようにあらわしたものです。

 つまり、XMLのカタチでみると、各項目(住所、ホテル名など)が1つのエレメントとなり、それをまとめた親のエレメント(レコードに相当する:ここではホテル)があるケースです。




■操作方法概要

 上記のようなケースでは、以下の手順で操作していきます。

1.まず、XMLドキュメント全体を取得します
2.それに対して、getElementsByTagName(レコードのタグ名);でレコードの配列を取得します
3.各レコードごとに以下の処理をします
   3-1.対象のノードに対し、selectSingleNode(項目のタグ名)で、
       項目のエレメントを取得します
   3-2.それに対して、nodeTypedValueを行い、値を取得します
   3-3.取得した値をもとに、出力を作ります。





■ソース
 そこで、今回対象となるソースは、以下のとおりです。
//*==============================================//
//*	関数:DataOut()			  *//
//	内容:書き出し			  *//
//*==============================================//
function DataOut()
{
			//	返り値XMLの取得
	xtree = httpObj.responseXML;

			//	ホテルリストの取得
	hotellist = xtree.getElementsByTagName("Hotel");

			//	書き出し
	buf = "";
	for(i = 0 ; i < hotellist.length ; i ++ )
	{
		//	1件分のホテルデータ取り出し
		hotelnode	= 	hotellist[i];

		//	各種データ取り出し
		HotelName = hotelnode.selectSingleNode("HotelName").nodeTypedValue;
		HotelAddress = hotelnode.selectSingleNode("HotelAddress").nodeTypedValue;

		//	書き出し
		buf = buf + "¥n" + HotelName + " " + HotelAddress;
	}
	document.form1.textarea1.value = buf;

}





■ソースの説明

1.まず、XMLドキュメント全体を取得します
 ここにくるまでに、httpObjの中に、取得したXMLが入っているので
xtree = httpObj.responseXML;
 で、xtreeにDomのドキュメントをとりだします。

2.それに対して、getElementsByTagName(レコードのタグ名);でレコードの配列を取得します
 じゃらんAPIの場合、レコードに相当するのがHotelタグで囲まれた
 ホテル1つ分の情報なので、Hotelタグを
hotellist = xtree.getElementsByTagName("Hotel");
 のカタチで取り出します。

3.各レコードごとに以下の処理をします
  で、ホテルの配列がhotellistに入っているので、その配列の要素分、
for(i = 0 ; i < hotellist.length ; i ++ )
  以下の処理を行います。

   3-1.対象のノードに対し、selectSingleNode(項目のタグ名)で、
       項目のエレメントを取得します
   3-2.それに対して、nodeTypedValueを行い、値を取得します

   今回は、複数のタグを処理したいため、
hotelnode = hotellist[i];
   で1件分のホテルレコードを取り出したら、
hotelnode.selectSingleNode(タグ名).nodeTypedValue;
   で、レコードの要素となるタグ、ここでは、HotelNameとHotelAddressのデータを
   取り出します。
      
   3-3.取得した値をもとに、出力を作ります。
   ここは、任意の処理となります。
   ここでは、
buf = buf + "¥n" + HotelName + " " + HotelAddress;
   で、ホテル名と住所を足していき、
document.form1.textarea1.value = buf;
   でその内容を書き出しています。



 今回操作したXMLの構造は簡単なもので、これ以外に属性の値を取得するものや、子レコードの値を取得する場合なども、あるのですが、それについて書く前に、上記の方法と、以前「Domによる表操作:tableとtrの間にtbodyがあるんですね!(Domのお勉強その3)」に書いた、表の書き方とあわせると、もちょっと、ちゃんとしたかっこいいものが書けるので、このシリーズの、次回(すぐに、このシリーズの話をかくか、他の話にするか、いまのところ考えていませんが)は、じゃらんAPIの話とあわせて、表を使ってこれを書いたら、どうなるかの例を示すと、思います。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ガンホー担当の証券アナリストとかが読んだら、やばくない!?このBOTerの話

2006-06-21 17:40:18 | Weblog

ここの記事

超大物BOTerが語るBOT・RMTオンラインゲームの闇
http://blog.livedoor.jp/botbokumetu/archives/50518431.html


ウィリアムのいたずらはオンラインゲームもやんないし、ガンホーの株をもってないので、
あんまりかんけーないのですが、
この話、ガンホー担当の証券アナリストとかが読んだら、やばくない(^^;)
うーん。。。

ちなみに、ウィリアムのいたずらのブログ読者には、この話、あまりにも飛びすぎているので
一応、用語説明しておきますと。。。

癌呆 ガンホー・オンライン・エンターテイメント(証券コード3765)のこと
RO 「ラグナロクオンライン」のこと(ガンホーのオンラインゲーム)
RMT  リアルマネートレーディングのこと(くわしくはここ
BOT ここ参照
GM ゲームマスター
BAN アカウントBAN(利用禁止措置)

まあ、ウィリアムのいたずら自身、あんまり知らない分野なので、これくらいしかわかりませんけど、それでも、上記のサイトのお話、たのしめます。
 みなさんも、時間があったら(すごーく長い話)、ごたんのーくださいませ


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする