backport

技術ネタと野球とときどき雑談

PHPを使ってAmazonの商品情報をJSON形式で取得

2016/12/08
development PHP

頑張ればスクレイピングできるんでしょうけどまずは正攻法で。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が返ってくるのでリトライしなきゃいけないのが引っかかります...



コメント欄を表示する

おススメ

WEB+DB PRESS Vol.99

特集「良いコードって何だろう?」がおススメ

WEB+DB PRESS総集編[Vol.1~84] (WEB+DB PRESS plus)

お値段手ごろなので持っておいて損なし

Kindle Paperwhite Wi-Fi、ブラック

読みたいときに読みたい本を読めるのが嬉しい

超小型65W ノートPC汎用 ACアダプター FINsix ”Dart” (シルバー)超軽量85g 11種類の変換プラグで1000機種以上のノートPCに対応 USB5V出力付きでPCとスマホ同時充電 ※必ずご使用のPCとの互換性をご確認ください。『PSE認証済』

持ち運びに便利な小型軽量のACアダプタ