ASINコードを入力すると、タイトルや著者名などをAmazonから取得し、それをデータベース(MySQL)に格納するようなシステムを作りたいと思います。
自分でもこれから調べてみますが、大まかな流れとしてどのような仕組みを使えばいいでしょうか?
とりあえず大雑把な感じで構いませんのでアドバイスください。
PHPとMySQL暦1ヶ月程度です。
RESTで取得するとxmlで返ってくるらしいのですが、xmlをどのようにMySQLに格納するのか検討も着きません。
みなさんよろしくお願いします。
おおまかな流れを説明いたします。
XMLをそのままMySQLに格納しても使い勝手が悪いので、分解して個々の値を取得し、それをMySQLのテーブルに格納する方向で話を進めます。
[事前作業]
少しでも参考になれば幸いです。
おおまかな流れを説明いたします。
XMLをそのままMySQLに格納しても使い勝手が悪いので、分解して個々の値を取得し、それをMySQLのテーブルに格納する方向で話を進めます。
[事前作業]
少しでも参考になれば幸いです。
丁寧にありがとうございます。
大まかな流れは理解できました。
とりあえず
xmlをMySQLに格納するところから始めてみようと思います。
使っているサーバーがPHP4だったのでPHP5のを借りてsimple_xml_load_fileを試してみました。
頑張ればなんとかなりそうな気配です。
どうもありがとうございました。
AMAZONのRESTで受け取ったXMLデータを配列にすればデータの処理が簡単になるかと思います。
XMLデータを配列にするにはPEARにXML_Serializerというものがあるので、それを利用するといいかと思います。
PEARとはPHPで利用できるライブラリを提供しているサービスで、他にもいろいろあります。
[参考URL]
上記URLでXML_Serializerをダウンロードすることができます。
[参考URL]
で実際にXML_Serializerを使ったスクリプトがダウンロードできます。その中で「AMAZON(アマゾン)のブラウズノード検索」や「YouTube検索」が
参考になるかと思います。
ライブラリってよく見るのですが、いまいち何なのかわからないのです。simple_xml_load_fileを使うのが一番簡単そうなのでPHP5のサーバーを借りました。
とにかく配列にしてMySQLに格納するところからチャレンジしてみようと思います。
XMLの内容をを取得してMySQLに送りたい、ということですよね。
それならPHPには最適なライブラリが付属しています。それがSimpleXMLです。
検索すると色々出てきます。
SimpleXML関数でRSSしてみる
http://www.doyouphp.jp/php5/php5_simplexml.shtml
AmazonAPIに関しては自分は利用してことがないのですが、教えてgooに質問がありました。
PHPとAmazon API
いやーほんとにシンプルですねSimpleXMLは。
持っていたリファレンスの通りにやってみると配列っぽくなりました。ただ配列をMySQLに格納するのさえどうすればいいのかわからないレベルなので少しづつ進んでいこうと思います。
あと2バイト文字の取り扱いにも苦労しそうです。UTF-8?に変換する必要があるのでしょうか。その辺りもよくわからないので困ったらまた質問させて頂きます。
http://www.itmedia.co.jp/enterprise/articles/0501/17/news004.htm...
少し記事が古いですが、私はこれで一連の流れが理解できました。
・Amazon Webサービス登録手続き
・アソシエイトID取得
・簡単なアプリケーション(REST)
とひとまず一通りのことはできそうです。
AmazonからのXML取得に関してはこちらのページでほぼできました。今更ながらXMLって便利そうですね。そしてAmazonって太っ腹ですね。
http://jp2.php.net/manual/ja/ref.simplexml.php
>RESTで取得するとxmlで返ってくるらしいのですが、xmlをどのようにMySQLに格納するのか検討も着きません。
こちらに関しては取得したXMLをsimpleXMLで処理し、PHPで配列変数として処理できるようにし、foreachで配列を処理し、mySQLでinsert/update/delete処理をするイメージですね。
取得できない場合のロジックも考えておく必要があると思います。
丁寧にありがとうございます。
大まかな流れは理解できました。
とりあえず
xmlをMySQLに格納するところから始めてみようと思います。
使っているサーバーがPHP4だったのでPHP5のを借りてsimple_xml_load_fileを試してみました。
頑張ればなんとかなりそうな気配です。
どうもありがとうございました。