LaravelLogo.pngのサムネイル画像


Amazonで参考にするものと言えばレビューとそれに基づいて表示されるおすすめ度の星の数。商品表示するときにその星の数を取得出来ると良いんですけど、残念ながら現在のAPIでは提供されていません。提供されているのは、レビューとおすすめ度が表示されたページのURLだけです。例えばこんな感じ。





そのまま商品表示に乗せるのには大きすぎるし、出来れば星の数の部分だけ取得してきたい。


というわけで、スクレイピングです。


Laravelでスクレイピング

Laravelでスクレイピングするには「Goutte」を使うのが定番のようなので、こちらに従ってインストールします。といってもcomposerでインストールして、config/app.phpに記載するだけですが。


LaravelでGoutteを利用してWebスクレイピング - Qiita


使い方はこんな感じです。



これで$review_urlをスクレイピング出来ます。


星の数を取得する

星は画像で表現されているので、その画像のURLが取得出来れば十分です。取得の仕方は次の通り。



これで画像を取得出来るので、あとはそれを表示するだけ。


表示例





ね、簡単でしょ?
  • About

    I'm a web designer/programmer in Kyoto, Japan. Also work as a blogger, DJ.

    NOBODY:PLACE is my personal blog since 1998. Everything I'm interested in is here.

    See Also
    Other Works
    Feed
  • Recent Hatena Bookmark
  • Monthly Archives
    Categories