経緯
最近の趣味の一つでクラウドワークスに乗っている副業案件を眺めるってのがあるんですが、
その趣味を楽しんでいるときに似たような案件があるなぁと目についたんです。
後はフィルター条件に一致しない物(これよりも単価の安い物)もいくつかありました。
最初の考え
正直最初はこれで10万だとか30万だとか貰えるのが不思議で仕方なかったです。
API叩けばすぐに終わるようにしか思わなかったからです。
私はクラウドワークスで実績がないから簡単には受けれないでしょう。
ですが非常に魅力的に目に写りました。
作業時間にして3人日程度で出来ると思ったからです。
3日で10万~30万も貰えれば本業を休んでもやる価値はありました。
愚かな私はそれ以上のことに頭が回らず、この案件が宝のように見えていました。
APIを調べる。
まず初めにやるべきことはamazonから提供されているAPIについて調べることでした。
知の神であるgoogle様にお伺いを立てました。
そして密林の奥底にある遺跡を紹介してもらい、そこまで赴きました。
我々はそこでとある文献を発見しました。
以下がそれです。
Product Advertising API (PA-API) の利用ガイドライン
なるほど?取得が困難なのか?
この時点で半分気づいていました。
最初に宝に見えていたあれは宝では無いです。おそらくミミックでしょう。
ザラキの呪文で私を苦しめてくるに違いありません。
ほかのAPIがあるかもしれない
ザラキくらいなら当たらないかもしれません。運にかければいいです。
さぁ別の手段を探しましょう。
さてamazonですが別のAPIも用意してるみたいです。
amazon NWS
上記は販売者として登録が必要みたいでした。
つまりこれを使うなら月額5000円ほどかかるということですね。
すでに販売者であればこれを使える可能性がありますが、宝に見えている物がこれを取得できてるとはあまり思えません。
恐らくダメでしょう。
次にkeepa APIが候補にあがりました。
keepa API docment
これも月々のお支払いが必要です。
お支払いをお願いできるのであれば良いでしょうが、残念ながら実績のない人間にこれを進められても見向きもされないでしょう。
上記2つは月額がかかるということで深くは調べてないため、そもそも要件に合ってない可能性もあります。
ただAPIで探している限り使えそうなものはここまでで紹介した3つでした。
APIではない方法
APIは取得するのが困難なので全く別の方法を考えました。
まぁweb scrapingですね。
ちょうどこの記事の一つ前の記事がweb scrapingで遊んでました。
良ければ見てください。→puppeteerを使ってyoutubeの新着動画を探そう
そしてイイネしてください。
話を戻しますが、puppeteer等を用いてscrapingしてしまえば該当URLやASINさえあれば情報の取得は可能でしょう。
自身で作成するのが大変であればgithubから拝借すればいいと思います。
以下参考
amazon-scraper-python
amazon-scraper
パイソンの方は最近更新されているようなのでそれなりに安心できるんじゃないでしょうか。
ライセンスもMITですし商用利用自体は問題ないです。
ただ、自身で作った場合でも拝借した場合でも気を付けなければいけないことがあります。
というかweb scrapingするなら当たり前に知っててほしいことですが、常識の範囲でscrapingするということです。
で、あんまりやりすぎると当然ブロックされます。場合によってはすごく怒られます。
特にこのような技術を用いる予定がない人でも下記の事件は知っておくと良いと思います。
岡崎市立中央図書館事件
こういった事情があるため、性能面で注文があった場合に上記を説明し、納得してもらう必要があります。
「それでも何とかしろ」なんて言われた日には、どの様にして黙らせるかを考えてしまいそうです。
他にも気を付ける点があります。
もし、amazonのサイトのデザインが変更された場合、それに合わせて修正しなければならないという点です。
「一度購入したがデザインが変更されたため使えなくなった!タダで直せ!」
なんて言われたらとんでもないことです。
そうならないためにも事前の契約に注意が必要になります。
すでに宝では無くミミックにしか見えなくなってきました。
少なくとも10万で受けたいかと言われると辛いなぁという感想です。
まとめ
まとめます。
手法としてAPIとweb scrapingがある。
APIだと
・PAAPI
・NWS
・keepa API
上記のどれかを扱うことになりそう。
web scrapingだと
・完全に自作
・moduleを借り、難しいことはmoduleに任せる
どちらかになりそう。
web scraping自体正攻法ではないので気を付ける点が多そう。
以上がここ最近私自身が調べていた情報になります。
間違っていた場合は編集リクエストください。
さて、最後に一つ私から皆様に質問させてください。
ここまで読んでくれた皆様ならどのような方法でamazonから情報を取得しますか?
コメントお待ちしております。