微店 API 数据采集实例说明||接口文档说明

微店数据采集需基于微店开放平台提供的 API,需先完成开发者认证、创建应用并获取密钥,再遵循 API 规则调用接口。以下以Python为例,演示商品列表、订单数据的采集流程(需提前完成开发者配置)。

一、准备工作

  1. 注册开发者:访问微店开放平台,完成企业 / 个人开发者认证,创建应用,获取AppKeyAppSecret
  2. 获取 Access Token:微店 API 采用 OAuth2.0 认证,需先通过AppKeyAppSecret获取access_token(有效期通常为 2 小时)。
  3. API 文档参考:查看微店开放平台的接口文档(如商品接口、订单接口),明确请求方式、参数、返回格式。

二、核心步骤与代码实现

1. 获取 Access Token

微店获取 Token 的接口为:https://open.weidian.com/api/token(POST 请求)。

python

运行

import requests
import json

# 开发者配置(替换为自己的信息)
APP_KEY = "your_app_key"
APP_SECRET = "your_app_secret"
GRANT_TYPE = "client_credentials"  # 客户端模式

def get_access_token():
    url = "https://open.weidian.com/api/token"
    params = {
        "appkey": APP_KEY,
        "appsecret": APP_SECRET,
        "grant_type": GRANT_TYPE
    }
    try:
        response = requests.post(url, data=params)
        result = json.loads(response.text)
        if result.get("errcode") == 0:
            return result["access_token"]
        else:
            print(f"获取Token失败:{result['errmsg']}")
            return None
    except Exception as e:
        print(f"请求异常:{e}")
        return None

# 获取Token
access_token = get_access_token()
if access_token:
    print(f"Access Token: {access_token}")
2. 采集商品列表数据

商品列表接口/v2/goods/list)为例,GET 请求,需传入access_token、店铺 ID 等参数。

运行

def get_goods_list(access_token, page=1, page_size=20):
    url = "https://open.weidian.com/api/v2/goods/list"
    params = {
        "access_token": access_token,
        "page": page,
        "page_size": page_size,
        "shop_id": "your_shop_id"  # 替换为店铺ID
    }
    try:
        response = requests.get(url, params=params)
        result = json.loads(response.text)
        if result.get("errcode") == 0:
            goods_list = result["data"]["goods_list"]
            return goods_list
        else:
            print(f"获取商品失败:{result['errmsg']}")
            return []
    except Exception as e:
        print(f"请求异常:{e}")
        return []

# 获取商品列表
goods_list = get_goods_list(access_token)
if goods_list:
    print(f"共获取{len(goods_list)}件商品:")
    for goods in goods_list:
        print(f"商品ID:{goods['goods_id']},名称:{goods['goods_name']},价格:{goods['price']}")
3. 采集订单数据

订单列表接口/v2/order/list)为例,GET 请求,需传入时间范围等参数。

python

运行

def get_order_list(access_token, start_time, end_time, page=1):
    url = "https://open.weidian.com/api/v2/order/list"
    params = {
        "access_token": access_token,
        "start_time": start_time,  # 开始时间(格式:yyyy-MM-dd HH:mm:ss)
        "end_time": end_time,      # 结束时间
        "page": page,
        "page_size": 20,
        "shop_id": "your_shop_id"
    }
    try:
        response = requests.get(url, params=params)
        result = json.loads(response.text)
        if result.get("errcode") == 0:
            order_list = result["data"]["order_list"]
            return order_list
        else:
            print(f"获取订单失败:{result['errmsg']}")
            return []
    except Exception as e:
        print(f"请求异常:{e}")
        return []

# 获取订单列表(示例时间范围)
order_list = get_order_list(access_token, "2025-12-01 00:00:00", "2025-12-03 23:59:59")
if order_list:
    print(f"共获取{len(order_list)}条订单:")
    for order in order_list:
        print(f"订单号:{order['order_id']},金额:{order['total_amount']},状态:{order['order_status']}")

三、注意事项

  1. 权限与合规:仅可采集自己店铺的数据,需遵守《微店开放平台开发者协议》,禁止爬取他人数据。
  2. 接口限制:微店 API 有调用频率限制(如单接口 QPS 限制),需控制请求频率,避免被封禁。
  3. 签名验证:部分接口需进行签名(如appsecret参与签名),需严格按照文档生成签名参数。
  4. Token 刷新access_token过期后需重新获取,建议在代码中加入 Token 过期自动刷新逻辑。

四、数据存储扩展

可将采集的数据保存到数据库(如 MySQL)或文件(如 CSV):

python

运行

import csv

# 保存商品数据到CSV
with open("goods_list.csv", "w", newline="", encoding="utf-8") as f:
    writer = csv.DictWriter(f, fieldnames=["goods_id", "goods_name", "price"])
    writer.writeheader()
    writer.writerows(goods_list)

以上实例需根据微店开放平台的最新接口文档调整参数和请求方式,确保与官方规则一致。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值