Skip to content

SmartBlue0322/Python

Repository files navigation

search_yahoo_shopping

Yahoo! JAPAN の商品検索 API(V3)を利用して Yahoo! ショッピングの店舗の商品を検索、保存するツールです。

キーワード検索 → ヒットした商品を出品している店舗の店舗ページで出品されている商品を安い順に昇順で、商品名、値段、店舗 URL を記録します。また、検索にヒットした店舗一覧を別ファイルに記録します。

  • out/キーワード/<時間_日付>/shop.xlsx: 店舗一覧のファイル。店舗名、店舗 URL
  • out/キーワード/<時間日付>/shop/<ショップ名ショップ ID>.xlsx: 店舗の出品商品一覧のファイル。商品名、値段、店舗 URL

注意事項、制限事項

インストール

動作確認環境 Windows 11 Home 21H2、Python 3.9.0

事前に Python 3.9.0 以上のバージョンをインストール

プログラムのダウンロード: GitHub の Zip リンク

  • 解凍したフォルダを開き、フォルダーのアドレス欄にcmdと入力して、Enter。コマンドターミナルを開く
  • コマンドターミナルで以下のコマンドを実行して、必要な外部ライブラリをインストール
pip install -r requirements.txt

実行前の準備

search_yahoo_shopping.pyと同じフォルダに以下のファイルを用意

  • appid.xlsx
  • keyword.xlsx

appid.xlsx

  • Yahoo! Japan Web API を利用するために必要なアプリケーション ID を記載するファイル。プログラムを動かすためには 2 個の ID が必要
  • Yahoo! JAPAN の開発者ページでアプリを 2 個登録する
  • 「新しいアプリケーションを登録」→ 「ID 連携を利用しない」でアプリケーションを登録。ID 連携以外は利用者の情報を入力
  • コピペで ID 最後のハイフン-が抜けやすいので注意

keyword.xlsx

  • 検索するキーワードを A 列にそれぞれ記載したファイル
  • 1 行 1 キーワードになります
  • B1 セルに商品情報ファイルに出力する商品情報の最大行数を設定(デフォルト 50 万)
  • C1 セルに検索して収集する店舗情報の 1 キーワードあたりの最大数を設定(デフォルト 100 店舗)
  • D1 セルに検索対象とする 1 店舗あたりの最小商品数

A B C D
1 nike 500000 100 50000
2 shoes
3 bag

実行

python search_yahoo_shopping.py

keyword.xlsx に記載されたキーワードを上から順番に検索し、店舗の出品商品情報を記録していきます。

出力情報

出力先は、search_yahoo_shopping.pyと同じフォルダにoutフォルダが作成され、以下のような階層でファイルが出力されます。

 - search_yahoo_shopping.py
 - out
   - <実行日時>
     - shops_all.xlsx :各キーワード検索でヒットした店舗情報一覧を1つにまとめたもの (重複排除)
     - items_all_<番号>.xlsx :各店舗毎の商品情報一覧 (<店舗名>_<店舗ID>.xlsx) を1つにまとめたもの
     - <検索キーワード> : keyword.xlsxに記載されているキーワードに対応
       - shops.xlsx: 検索キーワードでヒットした店舗情報一覧。出力情報 (店舗名, 店舗URL, 店舗ID)。商品名、価格が重複する商品情報は、1つだけ出力
       - shop: 店舗毎の商品情報出力フォルダ
         - <店舗名>_<店舗ID>.xlsx : 出力情報 (商品名, 値段, 店舗URL)

店舗検索だけの実行

python search_yahoo_shopping_stores.py

商品検索だけの実行

検索する店舗情報が必要なので、同一フォルダに shops_all.xlsx が必要です。

python search_yahoo_shopping_items.py

または、オプションで shops_all.xlsx を指定してください。

python search_yahoo_shopping_items.py --shops-all-path .\out\<実行日時>\shops_all.xlsx

About

Shop Site - Python Backend

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages