想要获取淘宝商品的历史价格信息,可以通过淘宝开放平台提供的数据接口进行实现。
-
首先需要申请淘宝开放平台的开发者账号,并创建应用。
-
在创建应用时,需要选择相应的 API 权限,包括获取商品信息、获取商品评价等权限。
-
调用淘宝开放平台的接口
taobao.tbk.ju.tqg.get
,并传入相应的参数。其中,adzone_id
、site_id
为推广位 ID,fields
为需要获取的商品信息,num_iid
为商品 ID,start_time
、end_time
为需要获取的历史价格的时间范围。 -
解析接口返回的数据,即可获得淘宝商品的历史价格信息。
一个获取淘宝商品历史价格信息的 Python 实现示例代码:企业级电商api
import requests
import json
url = 'http://gw.api.taobao.com/router/rest'
appkey = '<your appkey>'
secret = '<your secret>'
adzone_id = '<your adzone_id>'
site_id = '<your site_id>'
start_time = '2021-01-01 00:00:00'
end_time = '2021-08-01 00:00:00'
num_iid = '<taobao item id>'
fields = 'title,pict_url,num_iid,original_price,discount_price'
params = {
'method': 'taobao.tbk.ju.tqg.get',
'app_key': appkey,
'sign_method': 'md5',
'timestamp': '2021-08-20 10:00:00',
'format': 'json',
'v': '2.0',
'adzone_id': adzone_id,
'site_id': site_id,
'start_time': start_time,
'end_time': end_time,
'num_iid': num_iid,
'fields': fields,
}
# 构建签名算法
def sign(params):
sorted_params = sorted(params.items(), key=lambda x: x[0])
query_str = ''
for k, v in sorted_params:
query_str += f'{k}{v}'
query_str += secret
sign = hashlib.md5(query_str.encode('utf-8')).hexdigest().upper()
return sign
params['sign'] = sign(params)
response = requests.post(url, params=params)
data = json.loads(response.text)
if 'error_response' in data:
print(data['error_response'])
else:
items = data['tbk_ju_tqg_get_response']['results']['results']
for item in items:
# 解析商品历史价格信息
price_info = item['item_price']
for price in price_info:
# 可以在这里保存商品的历史价格信息
print(price['zk_final_price'])
需要注意,以上示例中的参数需要根据自己的实际情况进行替换,特别是 appkey
、secret
、adzone_id
、site_id
、num_iid
等关键参数需要填写自己的值。同时,需要注意淘宝开放平台的数据接口可能会进行更新,以上示例代码仅供参考。