首页 > 大数据 > 数据挖掘 > Python测试淘宝店铺所有商品接口的详细指南
requests:用于发送HTTP请求。json:用于解析JSON数据。pip install requests
App Key和
App Secret,这是调用API接口的凭证
。App Secret
。import hashlibdef generate_sign(params, app_secret):
sorted_params = sorted(params.items(), key=lambda x: x[0])
param_str = ''.join(f"{k}{v}" for k, v in sorted_params)
sign_str = app_secret + param_str + app_secret
sign = hashlib.md5(sign_str.encode('utf-8')).hexdigest().upper()
return sign
import requestsimport timedef get_shop_items(app_key, app_secret, shop_id, page_=1, page_size=40):
timestamp = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
url = "https://gw.api.taobao.com/router/rest"
params = {
"method": "taobao.items.search",
"app_key": app_key,
"timestamp": timestamp,
"format": "json",
"v": "2.0",
"sign_method": "md5",
"shop_id": shop_id,
"page_no": page_no,
"page_size": page_size,
"fields": "num_iid,title,price,pic_url"
}
params["sign"] = generate_sign(params, app_secret)
response = requests.get(url, params=params)
return response.json()
def parse_items(response_data):
if "items_search_response" in response_data:
items = response_data["items_search_response"]["items"]
for item in items:
print(f"商品ID: {item['num_iid']}, 标题: {item['title']}, 价格: {item['price']}, 图片链接: {item['pic_url']}")
else:
print("未找到商品数据")
import csvdef save_to_csv(data, filename):
with open(filename, 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerow(['商品ID', '标题', '价格', '图片链接'])
for item in data:
writer.writerow([item['num_iid'], item['title'], item['price'], item['pic_url']])
try:
response = requests.get(url, params=params)
response.raise_for_status()except requests.exceptions.RequestException as e:
print(f"请求发生错误:{e}")
if __name__ == "__main__":
app_key = "your_app_key"
app_secret = "your_app_secret"
shop_id = "your_shop_id"
response_data = get_shop_items(app_key, app_secret, shop_id)
parse_items(response_data)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70041666/viewspace-3075130/ ,如需转载,请注明出处,否则将追究法律责任。