PHPを使ってAmazonの商品情報をJSON形式で取得
頑張ればスクレイピングできるんでしょうけどまずは正攻法で。Product Advertising APIを使います。 Amazon Product Advertising API関連リンク集 - Qiitaあたりを参考にアカウントを作っておいてください。
Product Advertising APIはいろんな言語向けのラッパーライブラリがあるので素直に力を借りるのが吉かと思います。 今回はPHPとapai-ioの組み合わせでやってみましょう。apai-ioはcomposerを使ってインストールします。
[vagrant@localhost amazon]$ ls -l
total 1
-rwxrwxrwx. 1 vagrant vagrant 58 Dec 5 13:04 composer.json
[vagrant@localhost amazon]$ cat composer.json
{
"require": {
"exeu/apai-io": "~2.0"
}
}
[vagrant@localhost amazon]$
[vagrant@localhost amazon]$ composer install
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing guzzlehttp/promises (1.3.0)
Downloading: 100%
- Installing psr/http-message (1.0.1)
Downloading: 100%
- Installing guzzlehttp/psr7 (1.3.1)
Downloading: 100%
- Installing guzzlehttp/guzzle (6.2.2)
Downloading: 100%
- Installing exeu/apai-io (2.0.0)
Downloading: 100%
Writing lock file
Generating autoload files
[vagrant@localhost amazon]$
apai-ioの使い方は公式サイトを見ればすぐ分かると思います。Product Advertising APIのほうが厄介ですね。できることが多い分ややこしい。 今回は基本的な商品情報だけあればOKだったので最終的なコードは複雑にならなかったですけど。
ちょいと長いですがソースコードはこんな感じ。 なぜか503が返ってくるのでリトライしなきゃいけないのが引っかかります...
関連(するかもしれない)記事
おススメ