人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

AmazonのWEBサービスについて質問です。

ASINコードを入力すると、タイトルや著者名などをAmazonから取得し、それをデータベース(MySQL)に格納するようなシステムを作りたいと思います。

自分でもこれから調べてみますが、大まかな流れとしてどのような仕組みを使えばいいでしょうか?

とりあえず大雑把な感じで構いませんのでアドバイスください。

PHPとMySQL暦1ヶ月程度です。
RESTで取得するとxmlで返ってくるらしいのですが、xmlをどのようにMySQLに格納するのか検討も着きません。

みなさんよろしくお願いします。

●質問者: tokyosmash
●カテゴリ:インターネット ウェブ制作
✍キーワード:Amazon ASIN MySQL PHP REST
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ●
●60ポイント ベストアンサー

おおまかな流れを説明いたします。

XMLをそのままMySQLに格納しても使い勝手が悪いので、分解して個々の値を取得し、それをMySQLのテーブルに格納する方向で話を進めます。


[事前作業]



少しでも参考になれば幸いです。

◎質問者からの返答

丁寧にありがとうございます。

大まかな流れは理解できました。

とりあえず

xmlをMySQLに格納するところから始めてみようと思います。

使っているサーバーがPHP4だったのでPHP5のを借りてsimple_xml_load_fileを試してみました。

頑張ればなんとかなりそうな気配です。

どうもありがとうございました。


2 ● vs-minoru
●20ポイント

AMAZONのRESTで受け取ったXMLデータを配列にすればデータの処理が簡単になるかと思います。

XMLデータを配列にするにはPEARにXML_Serializerというものがあるので、それを利用するといいかと思います。

PEARとはPHPで利用できるライブラリを提供しているサービスで、他にもいろいろあります。

[参考URL]

PEAR XML_Serializer

上記URLでXML_Serializerをダウンロードすることができます。

[参考URL]

PHPとAjaxと

で実際にXML_Serializerを使ったスクリプトがダウンロードできます。その中で「AMAZON(アマゾン)のブラウズノード検索」や「YouTube検索」が

参考になるかと思います。

◎質問者からの返答

ライブラリってよく見るのですが、いまいち何なのかわからないのです。simple_xml_load_fileを使うのが一番簡単そうなのでPHP5のサーバーを借りました。

とにかく配列にしてMySQLに格納するところからチャレンジしてみようと思います。


3 ● takuchan_no2
●20ポイント

XMLの内容をを取得してMySQLに送りたい、ということですよね。

それならPHPには最適なライブラリが付属しています。それがSimpleXMLです。

検索すると色々出てきます。

SimpleXML関数でRSSしてみる

http://www.doyouphp.jp/php5/php5_simplexml.shtml

AmazonAPIに関しては自分は利用してことがないのですが、教えてgooに質問がありました。

PHPとAmazon API

http://oshiete1.goo.ne.jp/kotaeru.php3?q=2114710

◎質問者からの返答

いやーほんとにシンプルですねSimpleXMLは。

持っていたリファレンスの通りにやってみると配列っぽくなりました。ただ配列をMySQLに格納するのさえどうすればいいのかわからないレベルなので少しづつ進んでいこうと思います。

あと2バイト文字の取り扱いにも苦労しそうです。UTF-8?に変換する必要があるのでしょうか。その辺りもよくわからないので困ったらまた質問させて頂きます。


4 ● ryouchi
●10ポイント

http://www.itmedia.co.jp/enterprise/articles/0501/17/news004.htm...

少し記事が古いですが、私はこれで一連の流れが理解できました。

・Amazon Webサービス登録手続き

・アソシエイトID取得

・簡単なアプリケーション(REST)

とひとまず一通りのことはできそうです。

◎質問者からの返答

AmazonからのXML取得に関してはこちらのページでほぼできました。今更ながらXMLって便利そうですね。そしてAmazonって太っ腹ですね。


5 ● ryouchi
●10ポイント

http://jp2.php.net/manual/ja/ref.simplexml.php

>RESTで取得するとxmlで返ってくるらしいのですが、xmlをどのようにMySQLに格納するのか検討も着きません。

こちらに関しては取得したXMLをsimpleXMLで処理し、PHPで配列変数として処理できるようにし、foreachで配列を処理し、mySQLでinsert/update/delete処理をするイメージですね。

取得できない場合のロジックも考えておく必要があると思います。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ