見出し画像

もう疲れたから、最安値チェックは、真面目な人(ライバル)に任せよう…。[ebayApiツール]


はじめに

いきなりですが、あなたは1週間にどれくらい価格調整に時間を費やしていますか?


自分は、1日1時間くらい費やしてなので、1週間で7時間も価格調整を熱心にポチポチしてました。

ボーッと価格調整していて、ふと思ってしまったのです…。




価格調整ガチ勢の値段を追っかければよくね??


皆さんも価格を調整をしていて、毎回、最安値をもぎっとてるガチ勢に出会った経験は少なくないと思います。

ってことで!今回、作ったツールを紹介しようと思います。簡単なpythonの知識があれば、コピペで誰でもできますよ🤗


用意するもの

✅価格調整ガチ勢のアイテムID、現在の値段が書いてあるCSVファイル
✅Pythonをいじくれる環境とちょっとした知識 *VSCodeを使用
✅eBay developer programのアカウント
✅✅✅怠惰の心


今回のコードの解説

まずは、全体図。やっぱりPythonはスッキリしてますね😊

import pandas as pd
import requests 
APPKEY = "***"

URL = ('https://open.api.ebay.com/shopping?&callname=GetMultipleItems&responseencoding=JSON&appid='+APPKEY+'&siteid=0&version=967&ItemID={}')


df1 = pd.read_csv('traceprice.csv')
df = pd.read_csv('default.csv', index_col=0)

for i, rows in df1.iterrows():

 ID = rows["ID"]
 ItemID =(int(ID))

 LastPrice = rows["LastPrice"]

 end_point = URL.format(ItemID)
 apiresult = requests.get(end_point)
 data = apiresult.json()

 try:
     title = data['Item'][0]['Title']
 except:
     title = ""
 try:  
     CurrentPrice = data['Item'][0]['ConvertedCurrentPrice']['Value']
 except:
     CurrentPrice =  ""

 se = pd.Series([ID,LastPrice,title,CurrentPrice],["ID","LastPrice","title","CurrentPrice"])
 df = df.append(se,ignore_index=True)
 print(df)

df.to_csv("completed.csv")
print("DONE")


では、最初から見ていきましょう。


まずは、Pandasとrequestsをインポート。
***にeBay developer programでもらった自分のeBayapiキーをぶち込む。

import pandas as pd
import requests 
APPKEY = "***"

Shopping apiを使って、ItemIDから商品の状態を取得出来るようにする。
GetMultipleItemsというコールを使うと、ebayの商品データは、なんでも抜き取れちゃいます。

URL = ('https://open.api.ebay.com/shopping?&callname=GetMultipleItems&responseencoding=JSON&appid='+APPKEY+'&siteid=0&version=967&ItemID={}')


あらかじめ、用意したtraceprice.csvとdefault.csvを読み込む。

df1 = pd.read_csv('traceprice.csv')
df = pd.read_csv('default.csv', index_col=0)

#IDと値段を一つずつ取り除く
for i, rows in df1.iterrows():

 ID = rows["ID"]

#int型にしないと小数点がつく。
 ItemID =(int(ID))

 LastPrice = rows["LastPrice"]

 end_point = URL.format(ItemID)
 apiresult = requests.get(end_point)
 data = apiresult.json()

traceprice.csvの中身。
最初にライバルのItemIDと値段をコピペしときます。

スクリーンショット 2020-05-05 18.18.40

default.csv中身、pandasで読み込むために1列目にIDとLastPriceのみを記入

スクリーンショット 2020-05-05 18.16.59


今回は、必要な情報であるタイトルと値段のみを抜き取る。

 try:
     title = data['Item'][0]['Title']
#もし、商品がなくてエラーが起きた時
 except:
     title = ""
 try:  
     CurrentPrice = data['Item'][0]['ConvertedCurrentPrice']['Value']
 except:
     CurrentPrice =  ""

分かりやすいようにPandasでデータを整列させ、新しいcompleted.csvというファイルに書き込む。

se = pd.Series([ID,LastPrice,title,CurrentPrice],["ID","LastPrice","title","CurrentPrice"])
 df = df.append(se,ignore_index=True)
 print(df)

df.to_csv("completed.csv")
print("DONE")


処理結果

スクリーンショット 2020-05-05 17.19.56

*作った段階で、値下げがなかったので、CurrentPriceはヤラセです。

LastPriceに値下げ前、CurrentPriceに現在の価格が記入されています。
これで、ライバルセラーが何ドル値下げしたのかを確認できます!

あとは、手作業で価格調整をするだけです😋
作った後に、気付いたけど。自分のitemIDも一緒に貼り付けた方がいいな。


作りたいツールがあれば、なんでもご相談ください😌

この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?