こんにちは、ミヤコ蝶々です(嘘です)。
Swanson Web Media - PHP and Ajax Auto Complete に、php と ajax を使って部分検索をする方法が掲載されていたので試してみた。
例ではMySQLなどのDBを利用していたが、面倒なので適当な実装にしたっす。
文字の一部を入力すると、その文字にマッチした検索結果がリストで戻ってくる。
更に、リストをクリックすると、クリックした文字がテキストボックスに入力されるのでコンボボックスのような使い方ができるよーな気がする。
prototype.js と scriptaculous.js を使えば、こんなことができるので結構便利だな。
元の記事では、MySQLに格納されているDBをselectしてその結果を出力していたが、プログラムの説明が面倒なので、予め配列に適当な文字列を入力してみた。
このオートコンプリート機能は、結構いろんなところで利用できそうなインターフェースだな。
2007年07月25日
2007年07月24日
iPhoneでもdiggできるらしい 
こんにちは、古田古です(嘘です)。
今朝 digg.com にアクセスしてみるとサービスがダウンしていたっす。そこに掲載されているメッセージがちょいとオサレでありなかなかよろしい。
サイトには、
ってメッセージの下にdiggスタッフのお薦めサイトが表示されている。
で、下記がスタッフのお薦めサイトのよーである。
で、ここで、Digg the Blogを見てみると、iPhone用のdiggの画面のよーなものがあった。
まだベータ版のよーであるが、iPhoneでdiggを見ると下記のよーな感じらしい。
うーむ、シンプルでかっちょいいかも。
iPhoneちょっとほしいな・・・
今朝 digg.com にアクセスしてみるとサービスがダウンしていたっす。そこに掲載されているメッセージがちょいとオサレでありなかなかよろしい。
サイトには、
Digg will be down for a brief period, while we make some changes.
While not digging, the digg crew recommends:
diggが落ちてスマンが、diggできない間はオレたちのお薦めサイトでも見といてくれ(多分こんな感じ)
ってメッセージの下にdiggスタッフのお薦めサイトが表示されている。
で、下記がスタッフのお薦めサイトのよーである。
- Amar Grow-a-Brain
- Ben Encyclopedia Dramatica
- Brian Rush
- Chris Hockey Rodent
- Dan Black Crowes
- Daniel Top Left Pixel
- Eli GeeksOn
- Kevin Purple & Brown
- Kurt MovieLens
- Jay Revision3
- Joe Funny YouTube Videos
- John paidContent.org
- Micah SuicideGirls
- Mike M Atom Films
- Mike N They Might Be Giants
- nbwt BBC News
- Nicole The Bastard Prince
- Owen Joel on Software
- Ron MadSciNet
- sbw Stanford Saves Orphan Books
- Scott RouterGod
- timeless Slashdot
- All Digg the Blog
で、ここで、Digg the Blogを見てみると、iPhone用のdiggの画面のよーなものがあった。
まだベータ版のよーであるが、iPhoneでdiggを見ると下記のよーな感じらしい。
うーむ、シンプルでかっちょいいかも。
iPhoneちょっとほしいな・・・
2007年07月23日
はてなスターを使ってはてなユーザのWebサイトの一覧をJSONPで取得するテスト 
こんにちは、星野知子です(嘘です)。
先日はてなより、「はてなスター」という、新たなサービスが登場し、いろいろ世間で話題になっているよーだ。
やっていることは、以前 たった2行でBLOGに簡単にレーティング機能を付与するJS-Kit:Ratings widgetの素晴らしさに感動 で紹介した JS-Kit: Ratings widget とほぼ同様の機能だと思われる。
で、はてなスターは当然、はてなアカウントを保有するユーザが利用できるのだけれど、この機能は保有するBLOG毎にいくつでも登録できるようである。逆に言えば、はてなスターのユーザページの登録BLOG一覧には、はてなユーザのBLOGの一覧が書かれているよーな状態になっているっぽい(正確にははてなスターを利用しているBLOG一覧ってことだが)。
で、これを利用して、はてなユーザのユーザ名を指定すると、そのユーザがはてなスターに登録しているサイトをJSONPで取得するよーなものを作ってみた。
以下、使い方。
詳細は はてなユーザのWebサイト取得 for JSONP を見てみてちょうだい。
つーか、これって、はてなスターのユーザのサイトを見ればよいだけか?
(意味なしか・・・orz)
先日はてなより、「はてなスター」という、新たなサービスが登場し、いろいろ世間で話題になっているよーだ。
やっていることは、以前 たった2行でBLOGに簡単にレーティング機能を付与するJS-Kit:Ratings widgetの素晴らしさに感動 で紹介した JS-Kit: Ratings widget とほぼ同様の機能だと思われる。
で、はてなスターは当然、はてなアカウントを保有するユーザが利用できるのだけれど、この機能は保有するBLOG毎にいくつでも登録できるようである。逆に言えば、はてなスターのユーザページの登録BLOG一覧には、はてなユーザのBLOGの一覧が書かれているよーな状態になっているっぽい(正確にははてなスターを利用しているBLOG一覧ってことだが)。
で、これを利用して、はてなユーザのユーザ名を指定すると、そのユーザがはてなスターに登録しているサイトをJSONPで取得するよーなものを作ってみた。
以下、使い方。
- end point URL:
- http://www.usamimi.info/~ryouchi/hatenastar/index.php
- パラメータ:user :
- はてなユーザのユーザidを指定
- パラメータ:callback :
- コールバック関数名を指定
- 戻り値
- このリンクのような戻り値になる(ブログのタイトル[title]とそのURI[uri]のペアで出力されます)。
詳細は はてなユーザのWebサイト取得 for JSONP を見てみてちょうだい。
つーか、これって、はてなスターのユーザのサイトを見ればよいだけか?
(意味なしか・・・orz)
2007年07月19日
PHP で Google Safe Browsing API をつかってみた 
こんにちは、正司敏江です(嘘です)。
Webサイトにはフィッシングサイトのように、アクセスするとPCに何らかの悪影響を及ぼすよろしくないサイトが結構あるよーである。
Google Safe Browsing API では、そーいったサイトを判断するためのAPIを提供しているよーである。( via Mashupedia ! )
Webサイトのブラックリスト「 」 : WEBAPI一覧 : MASHUPEDIA - マッシュペディア - : Web API x Mashup にサンプルが掲載されていたが動く環境がなかったので、下記に殆どサンプルそのまま掲載して動きを確認できるよーにしてみた。
なお 上記のスクリプト内 の36行目で
ちなみに、上記サンプルはinternet Explorerでしか動作しないよーな気がする。
しかし、このAPIはどーいうときに利用するのであろうか?
直ぐに思いつくのは、クローラなどでWebサイトの情報を取得する際に、一度、Google Safe Browsing APIを経由することで、よろしくないサイトをデータベースに残さないってのが考えられる。
興味があるのは、Googleがどうやってこのサイトを判断しているかってことだな。
うーむ。
Webサイトにはフィッシングサイトのように、アクセスするとPCに何らかの悪影響を及ぼすよろしくないサイトが結構あるよーである。
Google Safe Browsing API では、そーいったサイトを判断するためのAPIを提供しているよーである。( via Mashupedia ! )
Webサイトのブラックリスト「 」 : WEBAPI一覧 : MASHUPEDIA - マッシュペディア - : Web API x Mashup にサンプルが掲載されていたが動く環境がなかったので、下記に殆どサンプルそのまま掲載して動きを確認できるよーにしてみた。
なお 上記のスクリプト内 の36行目で
html += "<ul>の部分は
";
html += "<ul>";に修正しましょう。
ちなみに、上記サンプルはinternet Explorerでしか動作しないよーな気がする。
しかし、このAPIはどーいうときに利用するのであろうか?
直ぐに思いつくのは、クローラなどでWebサイトの情報を取得する際に、一度、Google Safe Browsing APIを経由することで、よろしくないサイトをデータベースに残さないってのが考えられる。
興味があるのは、Googleがどうやってこのサイトを判断しているかってことだな。
うーむ。
2007年07月17日
feedmeterランキング取得 API for JSONPを作ってみたが・・・ 
こんにちは、三遊亭楽麻呂です(嘘です)。
RSS フィード メーター - ランキング の情報を取得する手段として Do You PHP はてな - PEAR::Services_FeedMeter作ってみた ってのがあったのだが、よくわからなかったので、スクレイピングしてJSON形式で現在の順位とRSSのURIを返すようなものを自分で作ってみた。
下記にその使用例などを記載してみる。
うーむ。できることはわかったが、作ってみて何が嬉しいのか不明だったりする・・・orz
RSS フィード メーター - ランキング の情報を取得する手段として Do You PHP はてな - PEAR::Services_FeedMeter作ってみた ってのがあったのだが、よくわからなかったので、スクレイピングしてJSON形式で現在の順位とRSSのURIを返すようなものを自分で作ってみた。
下記にその使用例などを記載してみる。
パラメータ説明
- end point URL:
- http://www.usamimi.info/~ryouchi/feedmeter/index.php
- パラメータ:callback
- コールバック関数名を指定
- 戻り値
- このリンクのような戻り値になる。(rankとRSSfeedのURIのペア)
使い方
callback関数:viewfeedmeter()
の場合、
http://www.usamimi.info/~ryouchi/feedmeter/index.php?callback=viewfeedmeter
などと指定する。
うーむ。できることはわかったが、作ってみて何が嬉しいのか不明だったりする・・・orz
2007年07月10日
「phpによるスクレイピング処理入門」に為替レート取得方法を追加 
こんにちは、「だいじょうぶマイ・フレンド」でお馴染みの乃生佳之です(嘘です)元ジャニーズです。
細々とやっている phpによるスクレイピング処理入門 にサンプルをひとつ追加してみたっす。
動作するサンプルは下記になるっす。
為替レート取得のためのAPIを探していたのだが、なんだか見つからなかったので ひまわり証券株式会社 ブログパーツ FXレートウォッチャー の情報をスクレイピングしてみたっす。
情報を見るだけなら、上記のブログパーツでよさそーな気がするけど、その情報をプログラム内で利用したい場合は、やっぱ、スクレイピングする必要がありそーだ。
上記サイトに説明が記載されているので、大凡どんなことをやっているかがわかると思われる。
というか為替レートのAPIってないのかなぁ。
xmethods とか面倒っぽいし・・・
細々とやっている phpによるスクレイピング処理入門 にサンプルをひとつ追加してみたっす。
動作するサンプルは下記になるっす。
為替レート取得のためのAPIを探していたのだが、なんだか見つからなかったので ひまわり証券株式会社 ブログパーツ FXレートウォッチャー の情報をスクレイピングしてみたっす。
情報を見るだけなら、上記のブログパーツでよさそーな気がするけど、その情報をプログラム内で利用したい場合は、やっぱ、スクレイピングする必要がありそーだ。
上記サイトに説明が記載されているので、大凡どんなことをやっているかがわかると思われる。
というか為替レートのAPIってないのかなぁ。
xmethods とか面倒っぽいし・・・
2007年07月05日
DailyMotion の動画をダウンロードするブックマークレットを作ってみた 
こんにちは、南果歩です(嘘です)。
動画サイトといえば YouTube だったりすると思われるのだが、最近気に入っているサイトでは Dailymotion かな。
少し前に Youtubeの動画(FLV)をダウンロードする方法がわかった で Youtube のダウンロード用サイトを作ってみたのだが、いろいろ調べてみると、どうやら Dailymotion でも同じようにダウンロードすることができそうな気がしたので作ってみたっす。
上記URLには、以下のようなブックマークレットが置いてあるのでこれを利用すればよいっす(上のサイトに掲載しているのと同じものです)。
で、どーやって使うかといえば Dailymotion のサイトでテキトーに動画を見ていて、「あ、この動画をローカルにダウンロードしたいな」という欲求が沸き起こった際に、上記ブックマークレットを実行するっす。
すると、ダウンロードサイトにて、動画をダウンロードするためのURLのリンクが表示されます。これを右クリックでファイルとして保存すれば、よろしいです。Dailymotion の動画は YouTube と同じように、Flash Video (FLV)ファイル形式 なので、Riva FLV Player などを利用して保存した動画を見ることができるっす。
なお、Daily Motionのダウンロードはセッションが切れているとだめなよーなので、ダウンロード時は Dayly Motion の接続が切れていないかを確認してみてください。
動画系のダウンロードは、ソフトウェアなどが出ているっぽいがインストールするのが面倒な人にはこのブックマークレットで十分だと思われるっす。
ちなみに、このダウンローダも phpによるスクレイピング処理入門 で書かれていることを応用して作ったものです。
うーむ、スクレイピングの技術さえあれば、たいていのことは出来そうな予感っす。(謎)。
動画サイトといえば YouTube だったりすると思われるのだが、最近気に入っているサイトでは Dailymotion かな。
少し前に Youtubeの動画(FLV)をダウンロードする方法がわかった で Youtube のダウンロード用サイトを作ってみたのだが、いろいろ調べてみると、どうやら Dailymotion でも同じようにダウンロードすることができそうな気がしたので作ってみたっす。
上記URLには、以下のようなブックマークレットが置いてあるのでこれを利用すればよいっす(上のサイトに掲載しているのと同じものです)。
Get DailyMotion File
(右クリックでお気に入りに追加してください)(一部修正07/07/09)
(右クリックでお気に入りに追加してください)(一部修正07/07/09)
で、どーやって使うかといえば Dailymotion のサイトでテキトーに動画を見ていて、「あ、この動画をローカルにダウンロードしたいな」という欲求が沸き起こった際に、上記ブックマークレットを実行するっす。
すると、ダウンロードサイトにて、動画をダウンロードするためのURLのリンクが表示されます。これを右クリックでファイルとして保存すれば、よろしいです。Dailymotion の動画は YouTube と同じように、Flash Video (FLV)ファイル形式 なので、Riva FLV Player などを利用して保存した動画を見ることができるっす。
なお、Daily Motionのダウンロードはセッションが切れているとだめなよーなので、ダウンロード時は Dayly Motion の接続が切れていないかを確認してみてください。
動画系のダウンロードは、ソフトウェアなどが出ているっぽいがインストールするのが面倒な人にはこのブックマークレットで十分だと思われるっす。
ちなみに、このダウンローダも phpによるスクレイピング処理入門 で書かれていることを応用して作ったものです。
うーむ、スクレイピングの技術さえあれば、たいていのことは出来そうな予感っす。(謎)。
2007年07月04日
色んな言語でルビを振るブログパーツ 
こんにちは。石川優子です(嘘です)。
通りすがりの語学好きさんより YOMOYOMO - nihonho wo yomo というサイトを教えて貰った。
このサイトは、形態素解析エンジン言語郎 を利用して作成されたサイトで、日本語のサイトのURLを指定すると、日本語のサイトにルビを振ってくれるようである。
サイトの目的としては、日本語を勉強しはじめた外国の方々のために使われるのであろう。
で、自分のサイトに、これを使ってルビを振るブログパーツを作ってみた。こんな感じで設置すればよいっす。
貼り付けた結果はこんな感じ。
対応しているルビの種類は、下記5種類。
国際的なサイトを目指している方にお薦めかな?(ちょっと嘘つきました)。
通りすがりの語学好きさんより YOMOYOMO - nihonho wo yomo というサイトを教えて貰った。
このサイトは、形態素解析エンジン言語郎 を利用して作成されたサイトで、日本語のサイトのURLを指定すると、日本語のサイトにルビを振ってくれるようである。
サイトの目的としては、日本語を勉強しはじめた外国の方々のために使われるのであろう。
で、自分のサイトに、これを使ってルビを振るブログパーツを作ってみた。こんな感じで設置すればよいっす。
<script type="text/javascript" src="https://ryouchi.up.seesaa.net/rubi/rubi.js" charset="utf-8"></script>
貼り付けた結果はこんな感じ。
対応しているルビの種類は、下記5種類。
- ひらがな
- ローマ字
- ハングル
- デーヴァナーガリー
- キリル
国際的なサイトを目指している方にお薦めかな?(ちょっと嘘つきました)。
2007年07月03日
「phpによるスクレイピング処理入門」にはてなフォトライフのサンプルを追加 
こんにちは、エスパー清田こと清田益章です(嘘です)。
昨日作成した phpによるスクレイピング処理入門 の項目に はてなフォトライフ の画像をスクレイピングして表示するようなサンプルを作って見ました。
説明は下記になります。
動作するサンプルは下記になります。
必要なソースは下記3つになるっす。
上記サイトに説明が記載されているので、大凡どんなことをやっているかがわかると思われる。コメントなどをソースに記載しているので、長々と記載しているよーに見えるが、わりとシンプルな構造になっていると思われる。
$node->id == TIDY_TAG_A
$node->id == TIDY_TAG_IMG
$node->attribute
$node->child[0]->value
あたりを覚えておけば、殆どのことはできそーである。
はてな系のサイトはHTMLのソースコードがわりとキレイなので、スクレイピングしやすくてよいっすね。
昨日作成した phpによるスクレイピング処理入門 の項目に はてなフォトライフ の画像をスクレイピングして表示するようなサンプルを作って見ました。
説明は下記になります。
動作するサンプルは下記になります。
必要なソースは下記3つになるっす。
上記サイトに説明が記載されているので、大凡どんなことをやっているかがわかると思われる。コメントなどをソースに記載しているので、長々と記載しているよーに見えるが、わりとシンプルな構造になっていると思われる。
$node->id == TIDY_TAG_A
$node->id == TIDY_TAG_IMG
$node->attribute
$node->child[0]->value
あたりを覚えておけば、殆どのことはできそーである。
はてな系のサイトはHTMLのソースコードがわりとキレイなので、スクレイピングしやすくてよいっすね。
2007年07月02日
「phpによるスクレイピング処理入門」を書いてみた 
こんにちは、バーブ佐竹です(嘘です)。
りょーちのこのサイトではphpによるプログラムを幾つか紹介したりしているのですが、一発モノが多く、体型立てて説明することがあまりないので、ちょいと説明用のサイトを作ってみた。
で、第1回目はいきなりハードル高いですが「スクレイピング処理」について書いてみることにした。
このサイトでも「スクレイピング」という言葉はたまに利用しているのだが、もう一度整理してみると、APIが提供されていないWebサービスもバックグラウンドにデータベースなどがあるはず。で、そのWebサービスはデータベースから読み込んで機械的にデータを「あるパターン」に流し込んでサイトを作成しているであろう。
なので、目に見える部分(表示されているHTMLファイル)を解析し、必要なデータのみを取得して、自前のサーバ側で再度加工して、提供するようなことができると思われる。このことを「スクレイピング(scraping)」というらしい。
ちなみに、scrapeは「削る」って言う意味なので、必要な部分を削り取って利用するってことっすね。
一見難しそうに見えますが、やっていることはHTMLファイルを取得して、パターン(規則性)を見出し、加工するってことです。
下記にphpを利用するユーザにtidy関数を用いたスクレイピング処理の簡単なプログラミングについて解説したサイトを作ってみました。
りょーち自身、スクレイピング処理について体型立てて説明されたサイトがあまりないので、殆ど独学なのであるが、まあ、入門用のサイトとして利用いただければと思うっす。
なるべく、基本概念だけ記載し、ソースを表示したり、実際稼動するプログラムを掲載したりしたので、なんとなく分かる人には分かると思われる。
上記サイトでは Tidy 関数 と マルチバイト文字列関数 (mbstring) の2種類を主に利用しているが、肝の部分はTidy関数であろう。
HTMLファイルを取得し、tidyオブジェクトを作成し、解析するという流れで記載してあるので、はじめての人にも(多分)分かりやすいのではないかと(勝手に)想像するっす。
上記サイトの例として取り上げたのは「はてなブックマーク」のトップページの「最近の人気エントリー」を表示するプログラムにしてみたっす。
上記サイトを読めば、こんなプログラムも10分くらいで作成できると思われる。
(はてなのサイトはとてもキレイにコーディングされているのでスクレイピングしやすいサイトの一つと言えるであろう)。
ちなみに、りょーちが Tidy 関数を利用して作成してみたサイトは下記の通り。
これらのプログラムも phpによるスクレイピング処理入門 をお読みいただければ、多分「あー、こんなことやってるんだねぇ」と推測でき、且つ、自分で同じようなもの(というかもっと素晴らしいもの)を作ることができると思われます。
なんかかっちょいいの作ったら教えてください。
なお、スクレイピング対象として、取り上げて欲しいサイトなどがあったら、上記サイトに例として作成しようと思うので、コメントなどいただければと思います。
よろしくばい。
りょーちのこのサイトではphpによるプログラムを幾つか紹介したりしているのですが、一発モノが多く、体型立てて説明することがあまりないので、ちょいと説明用のサイトを作ってみた。
で、第1回目はいきなりハードル高いですが「スクレイピング処理」について書いてみることにした。
このサイトでも「スクレイピング」という言葉はたまに利用しているのだが、もう一度整理してみると、APIが提供されていないWebサービスもバックグラウンドにデータベースなどがあるはず。で、そのWebサービスはデータベースから読み込んで機械的にデータを「あるパターン」に流し込んでサイトを作成しているであろう。
なので、目に見える部分(表示されているHTMLファイル)を解析し、必要なデータのみを取得して、自前のサーバ側で再度加工して、提供するようなことができると思われる。このことを「スクレイピング(scraping)」というらしい。
ちなみに、scrapeは「削る」って言う意味なので、必要な部分を削り取って利用するってことっすね。
一見難しそうに見えますが、やっていることはHTMLファイルを取得して、パターン(規則性)を見出し、加工するってことです。
下記にphpを利用するユーザにtidy関数を用いたスクレイピング処理の簡単なプログラミングについて解説したサイトを作ってみました。
りょーち自身、スクレイピング処理について体型立てて説明されたサイトがあまりないので、殆ど独学なのであるが、まあ、入門用のサイトとして利用いただければと思うっす。
なるべく、基本概念だけ記載し、ソースを表示したり、実際稼動するプログラムを掲載したりしたので、なんとなく分かる人には分かると思われる。
上記サイトでは Tidy 関数 と マルチバイト文字列関数 (mbstring) の2種類を主に利用しているが、肝の部分はTidy関数であろう。
HTMLファイルを取得し、tidyオブジェクトを作成し、解析するという流れで記載してあるので、はじめての人にも(多分)分かりやすいのではないかと(勝手に)想像するっす。
上記サイトの例として取り上げたのは「はてなブックマーク」のトップページの「最近の人気エントリー」を表示するプログラムにしてみたっす。
上記サイトを読めば、こんなプログラムも10分くらいで作成できると思われる。
(はてなのサイトはとてもキレイにコーディングされているのでスクレイピングしやすいサイトの一つと言えるであろう)。
ちなみに、りょーちが Tidy 関数を利用して作成してみたサイトは下記の通り。
- あわせて読みたい 勝手 API for JSONP
- feecleトップページ 取得 API for JSONP
- リンク取得 API for JSONP
- BOOKLOG ASIN No 取得 for JSONP
- アフィリエイトサービスプロバイダ利用チェック
- ページ内のリンク一覧を取得
これらのプログラムも phpによるスクレイピング処理入門 をお読みいただければ、多分「あー、こんなことやってるんだねぇ」と推測でき、且つ、自分で同じようなもの(というかもっと素晴らしいもの)を作ることができると思われます。
なんかかっちょいいの作ったら教えてください。
なお、スクレイピング対象として、取り上げて欲しいサイトなどがあったら、上記サイトに例として作成しようと思うので、コメントなどいただければと思います。
よろしくばい。
