#pgid
* 目次 [#led1f14f]
#contents

* あらまし [#s7f7a7d2]

** AST(Alexa Site Thumbnail) [#ca12453d]
- Alexaのサイトサムネイル提供のポリシーがかわった

- Alexa Site Thumbnail~
http://www.amazon.com/gp/browse.html?node=236156011
> Pricing
> 
>     * Pay only for what you use. There is no minimum fee, and no start-up cost.
>     * $0.0002 / thumbnail returned (i.e. $0.20 per 1,000 thumbnails)
>     * No charge if the thumbnail does not exist 

- これに合わせてAPIも変わったので、その導入方法について記述します


* 導入 [#l7f36041]
** ASTのサンプル [#s3c3be59]
- サンプル コード~
http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=80

- PHPのサンプルはPHP 5必須とあるが、''DOMのパーサーがあれば普通にPHP4でも問題ないはず''
-- このサンプル通り作るなら、CURLがインストールされている必要がある
--- これも普通にリクエスト投げて、レスポンスもらうだけなら代替方法なんかいくらでもある


** 概念 [#b95cadd1]
- コードを書く前に、まずはASTのAPI等概念を見ていく

*** リクエストの方法 [#f9d21ff2]

- GETでリクエストを投げて、レスポンスをもらう方法と、SORPで取得する方法がある~
参照:http://docs.amazonwebservices.com/AlexaSiteThumbnail/2006-05-15/PgQueryRequestsArticle.html

- COLOR(blue):とりあえず、GETでレスポンスをもらうほうにしよう


*** QUERY Request Formatの形式 [#o4fa14a0]
- ''http://ast.amazonaws.com/Xino''の後に続いてパラメータをセットする
-- ''AWSAccessKeyId=''自分のID
-- ''&Timestamp=''日時(http://www.w3.org/TR/xmlschema-2/#dateTimeに準拠)
-- ''&Signature=''タイムスタンプとAWSAccessKeyIdから作る認証値(詳しくはコレ参照→http://docs.amazonwebservices.com/AlexaSiteThumbnail/2006-05-15/AuthenticationArticle.html)
-- ''&Action=Thumbnail''固定
-- ''&Url=''取得したいサイトのURL

- 参照:http://docs.amazonwebservices.com/AlexaSiteThumbnail/2006-05-15/QueryRequestFormatArticle.html


*** レスポンスの形式 [#v7949665]
- XMLが返ってくる
-- 形式はコレ参照→http://docs.amazonwebservices.com/AlexaSiteThumbnail/2006-05-15/QueryResponseFormatArticle.html


** 設計 [#g56fa1b2]

*** フロー [#oa65b7bf]
+ リクエストを投げるためのURLを作る
+ Alexaにリクエストを投げ、レスポンスを取得する
+ レスポンスを解析して結果を出力する

** 実装 [#e8fdb6a9]
- まだ作ってないよ。。。


* キャッシュしてみよう [#x339483f]

** 設計2 [#aa7b2124]
- どうせならキャッシュできるようにしましょうか
-- COLOR(red): ''Q: キャッシュしてもいいの?'' A.構いません~
参考:http://www.amazon.com/b/104-6248227-6679939?ie=UTF8&node=3440661&no=15879911&me=A36L942TSJ2AJA#alexa

*** フロー [#k014fb82]
+ サムネイルを出したいURLをキーにDB検索
+ 見つかった場合は、ファイル名取得して画像出力して終わり。見つからなければ次へ。
+ リクエストを投げるためのURLを作る
+ Alexaにリクエストを投げ、レスポンスを取得する
+ レスポンスを解析して結果を出力する
+ レスポンスから画像自体をダウンロード
+ URLをキーにファイル名をDBへ登録

*** SQL [#a7865d1d]
- MySQLを使うとして↓こんなもんで。
 CREATE TABLE ast_cache (
 url  VARCHAR(255) NOT NULL,
 file VARCHAR(255) NOT NULL,
 PRIMARY KEY (url)
 );


** 実装2 [#sfc63f95]
- まだ作ってないよ。。。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

アークウェブのサービスやソリューションはこちら