【Python API】国内ECサイトを価格比較 最安商品を検索【アマゾンAPI編 #2】

ECサイト

前回までの記事

【Python API】国内ECサイトを価格比較 最安商品を検索【楽天編 #1】
横断検索サイトを作りたい まずは楽天から、動画にて解説しています。 スクリプト import requests import numpy as np import pandas as pd import pprint import conf...
【Python API】国内ECサイトを価格比較 最安商品を検索【アマゾンAPI編 #2】
使用したモジュール PAAPIのラッパーです。知らずに自作関数を作成しましたが、これ使えばよかったです。 解説動画
【Python API】国内ECサイトを価格比較 最安商品を検索【YahooShoppingAPI編 #3】
YahooShoppingAPI 動画で書いたコード import json import pprint import configparser from pathlib import Path import requests BASE_D...

スクリプト

yahoo

import json
import pprint
import configparser
from pathlib import Path
import requests

BASE_DIR = Path(__file__).resolve().parent.parent
config_ini = configparser.ConfigParser()
config_ini.read(BASE_DIR / "setting" / "config.ini", encoding='utf-8')
APP_ID = config_ini['YAHOO_SHOPPING_SETTING']['ID'] #ID
yahooShoppingURL = "https://shopping.yahooapis.jp/ShoppingWebService/V3/itemSearch" #API REQUEST 


def search(keyword, index=1):
    res = requests.get(yahooShoppingURL, 
                    {"appid":APP_ID,
                        "query":keyword}).json()
    return res['hits'][index]['name']

# search(keyword="NC-A57-K", index=1)

rakuten

import requests
import numpy as np
import pandas as pd
import pprint
import configparser
from pathlib import Path

# * 参照 公式サイト
# https://webservice.rakuten.co.jp/documentation/ichiba-item-search

BASE_DIR = Path(__file__).resolve().parent.parent

config_ini = configparser.ConfigParser()
config_ini.read(BASE_DIR / "setting" / "config.ini", encoding='utf-8')
APP_ID_CONFIG = config_ini['RAKUTEN_API_SETTING']['ID']
res_url = "https://app.rakuten.co.jp/services/api/IchibaItem/Search/20220601"

def search(keyword):
    serch_params = {
        "format" : "json",
        "keyword" : keyword,
        "applicationId" : [APP_ID_CONFIG],
        "availability" : 0,
        "hits" : 1,
        "page" : 1,
        "sort" : "-updateTimestamp"
    }
    response = requests.get(res_url, serch_params)
    result = response.json()
    title = result["Items"][0]["Item"]["itemName"]
    return title
    
search(keyword="NC-A57-K")

amazon

import json
import pprint

from amazon_paapi import AmazonApi
import configparser
from pathlib import Path

BASE_DIR = Path(__file__).resolve().parent.parent

config_ini = configparser.ConfigParser()
config_ini.read(BASE_DIR / "setting" / "config.ini", encoding='utf-8')
ACCESS_KEY = config_ini['AMAZON_API_SETTING']['ACCESS_KEY'] #アクセスキー  
SECRET_KEY = config_ini['AMAZON_API_SETTING']['SECRET_KEY'] #シークレットキー  
ASSOCIATE_ID = config_ini['AMAZON_API_SETTING']['ASSOCIATE_ID'] #アフィリエイトID
COUNTRY = "JP"
amazon = AmazonApi(ACCESS_KEY, SECRET_KEY, ASSOCIATE_ID, COUNTRY)

def search(keyword):
    search_result = amazon.search_items(item_count=1, keywords=keyword)
    for item in search_result.items:        
        return item.item_info.title.display_value # title を出力
# search(keyword="NC-A57-K")   

main

from amazon import api_request as A_ar
from rakuten import api_request as R_ar
from yahoo_shopping import api_request as Y_ar

keyword = input("[INFO] 検索したい文字を入力してください:")

Amazon_res = A_ar.search(keyword)
Rakuten_res = R_ar.search(keyword)
yahoo_shopping_res = Y_ar.search(keyword)

# 出力結果
print("[AMAZON DATA] ", Amazon_res)
print("[Rakuten DATA]", Rakuten_res)
print("[YAHOO DATA]", yahoo_shopping_res)

解説動画

【Python API】国内ECサイトを価格比較 最安商品を検索【API編 #4】
もくじ00:00 - mainファイル作成02:13 - 関数作成07:57 - まとめ【Note】コード詳細はこちらから↓ ブログ↓========================...

コメント

タイトルとURLをコピーしました