ExcelやRubyなどで日米Amazonのスクレイピングツール作成

【Webビーコン】WebページやHTML形式の電子メールに埋め込まれた、非常に小さなサイズの画像。ユーザーがWebページやメールにアクセスしたという情報を、サーバーに伝えるために用いられる。通常、Webビーコンは縦横1ドット程度のサイズで、存在に気付かれにくい。
毎日ブンブンの物販ページ見てるけど、品切れの物販の再販はまだ来ないしじわじわとTシャツの残ってたサイズもSOLD OUTしていく…
即売会にデビューしたのに原稿・製本が上がらず、やっと完成した原稿でA5コピー本もそれもページ張りが分からないので片面刷り4Pで(それもコピー機の排出サイズがなぜか合わないからカッターで裁断してる)、それも午後2時半になってようやく完成するかというしくじり先生代表みたいな悪夢

ご覧頂きありがとうございます。

今回依頼させて頂く内容は日米Amazonのスクレイピングツールになります。
ExcelのVBAでのツールを希望していますが、それ以外の技術でも運用可能であれば問題ありません。
少々複雑ですので、内容をよくお読み頂いてからご応募下さい。
(URLはAmazonの商品ページだったりしますが、Amazonの在庫状況は日々変化する為、意図した表示とは違っている場合があります。)

【取得内容1】
例1)https://www.amazon.com/gp/search/other/ref=lp_679255011_sa_p_89?rh=n%3A7141123011%2Cn%3A7147441011%2Cn%3A679255011&bbn=679255011&pickerToList=lbr_brands_browse-bin&ie=UTF8&qid=1493181938
このURL(ブランド一覧ページ)から
・ブランド名
・ブランド名にリンクされたURL
(取得対象は#~Z全て)
※例1ではブランド一覧のページですが、シリーズの一覧やキャラクターの一覧など、取得対象によって変わります。

【取得内容2】
例2)https://www.amazon.co.jp/s/ref=sr_nr_p_89_1?fst=as%3Aoff&rh=n%3A3210981%2Cn%3A%213210991%2Cn%3A128187011%2Cn%3A128189011%2Cn%3A128199011%2Cp_n_condition-type%3A2249602051%2Cp_89%3Acellbell+ltd&bbn=128199011&ie=UTF8&qid=1495683487&rnid=2321255051
このようなURL(取得内容1で取得したURL・商品一覧ページ)から
・商品URLの取得
(取得対象はそのページだけでなく、2ページ目3ページ目と続く全てのページ)

【取得内容3】
例3)https://www.amazon.co.jp/dp/B01MT7QKY3

このようなURL(取得内容2で取得したURL・商品ページ)から
・ISBN/ASIN(該当の商品ページURLに記載されているのと同じASIN)
・商品名
・価格(Amazon倉庫に在庫がある価格のみ)※1下記補足あり
・商品サイズカラー選択
・商品サイズカラー選択2 (同商品ページ内にサイズの選択とカラーの選択の2種類がある為、分けて取得)
・商品サイズカラー選択3 ※2下記補足あり

・商品サイズカラー選択4
・商品説明文1(商品ページのサイズ選択の下に書かれている文章)
・商品説明文2(さらに下のカスタマーQ&Aの上に書かれている文章)
・商品画像URL(最大5個まで)

補足※1
取得の大前提は『Amazonの倉庫に確実に在庫のある商品で尚且つ新品の商品』に限ります。
これは価格の取得に限らずサイズなども同様に倉庫に在庫がないと判断される場合は取得する必要はありません。
在庫有無の判断についてですが、(日本Amazonの場合)
・出品者が複数の場合
「新品の出品」というリンクが必ずあります。そこから出品者一覧ページへ
Amazon以外の出品者では出品者ページの「AMAZON.CO.JP 配送センターより発送されます」という表記から判断。
Amazon自身が出品している場合、出品者一覧ページに「お届け日時指定便が利用できます」と書かれます。
他の出品者にも書かれますが、FBAとマーケットプライスの判別ができない為、出品者がAmazonであり「お届け日時指定便が利用できます」と書かれている事が条件になります。

・出品者が一人の場合
出品者一覧ページが無いので、商品ページからの判断となります。
「在庫あり」もしくは「残り○点」という表記があり、尚且つ「Amazon.co.jp が」という表記があれば在庫ありと判断できます。

新品での出品がなく、中古の商品が販売されている場合があります。
こちらも在庫なしと判断します。
判断方法について実例が少ない為正確な事が言えないですが、

「新品の出品」 というリンクがなく「

中古品の出品:1」というリンクがあります。

補足※2
商品サイズカラー選択は2パターンあり、
サイズごとにASINがある商品と、ASINが1つで纏められている商品があります。

サイズカラーごとにASINがある商品の例A)https://www.amazon.co.jp/dp/B01KURGIAI
サイズカラーごとにASINがある商品の例B)https://www.amazon.co.jp/dp/B01MT7QKY3
ASINは1つで纏められている商品の例C)https://www.amazon.com/dp/B00NI3XL3E

例Aの場合は「B01KURGIAI」のASINに対しサイズが「iPhone6s/6」となっているので
そのサイズとそのサイズに該当する各商品情報を取得します。

例Bの場合、例Aと表示方法は違いますが「B01MT7QKY3」のASINに対し
サイズが「Xperia XZ docomo SO-01/AU SOV34/softban…」となっているので
同様にそのサイズと価格を取得します。

例Cの場合は構造が複雑になっています。
サイズが「Select」となっており、価格も「$32.72 – $300.00」となっています。
さらには商品ページに記載されているASINが「B00OLSBDRG」となっています。
Amazon内で「B00OLSBDRG」を検索しても商品は出てきません。

サイズを選択する事で、そのサイズの価格も表示されるようになりますが、
商品ページに記載されているASINは「B00OLSBDRG」のままです。
しかし、URLに記載されているASINはサイズごとに別々のASINが記載されています。
(サイズごとのASINで検索をした場合、サイズや価格の表示は「Select」「$32.72 – $300.00」となります。)

その為、例Cのような商品に関しては、
該当のサイズのURLに記載されているASINを取得し、
同様にサイズや各商品情報も取得します。
この時取得したサイズは例Aや例Bとは用途が異なりますので
「商品サイズ選択3」として出力する必要があります。
さらにサイズとカラーで分かれている場合もある為、

商品サイズ選択3 と

商品サイズ選択4に分けて出力

【機能】
取得に関して
取得内容1とそれ以降とで2段階に分けて実行する必要があります。
理由としては、ブランドURLの取得をせず、商品一覧ページのURLから取得をする場合があるからです。
また、1回の取得で数千~数万件の取得を行い、取得完了までにかなりの時間を要するので
「中断」と「再開」の機能が必要となります。

以上が今回の依頼する取得内容になります。
よろしくお願い致します。

求めるスキル : キャラクター / MS-Excel (エクセル) / Excel(VBA・マクロ)
支払い方式 : 固定報酬制
予算 : 予算はメンバーと相談する

  • コメント

    1. 匿名希望
      2017/06/28(水) 08:39:54

      【Webビーコン】WebページやHTML形式の電子メールに埋め込まれた、非常に小さなサイズの画像。ユーザーがWebページやメールにアクセスしたという情報を、サーバーに伝えるために用いられる。通常、Webビーコンは縦横1ドット程度のサイズで、存在に気付かれにくい。

    2. 匿名希望
      2017/06/28(水) 08:39:54

      毎日ブンブンの物販ページ見てるけど、品切れの物販の再販はまだ来ないしじわじわとTシャツの残ってたサイズもSOLD OUTしていく…

    3. 匿名希望
      2017/06/29(木) 06:08:20

      即売会にデビューしたのに原稿・製本が上がらず、やっと完成した原稿でA5コピー本もそれもページ張りが分からないので片面刷り4Pで(それもコピー機の排出サイズがなぜか合わないからカッターで裁断してる)、それも午後2時半になってようやく完成するかというしくじり先生代表みたいな悪夢

    記事に戻る

関連記事