Python爬取京东商品库存数据与价格监控

核心思路 :通过定时爬取商品库存和价格,实现价格波动监控和缺货预警。
技术实现

  1. 库存接口 :调用https://c0.3.cn/stock?skuId={sku_id}获取库存状态。
  2. 定时任务 :使用APScheduler库设置每小时执行一次爬取任务。
  3. 数据存储 :将结果存入SQLite数据库,便于历史查询。
    示例代码

python

复制代码
`import requests, sqlite3, time
from apscheduler.schedulers.blocking import BlockingScheduler

def get_stock(sku_id):
    url = f"https://c0.3.cn/stock?skuId={sku_id}"
    response = requests.get(url)
    return response.json()["stock"]["StockStateName"]

def monitor_product(sku_id):
    conn = sqlite3.connect("jd_monitor.db")
    cursor = conn.cursor()
    cursor.execute("""
        CREATE TABLE IF NOT EXISTS monitor (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            sku_id TEXT,
            price TEXT,
            stock TEXT,
            timestamp DATETIME DEFAULT CURRENT_TIMESTAMP
        )
    """)

    price_url = f"https://p.3.cn/prices/mgets?skuIds=J_{sku_id}"
    price = requests.get(price_url).json()[0]["p"]
    stock = get_stock(sku_id)

    cursor.execute(
        "INSERT INTO monitor (sku_id, price, stock) VALUES (?, ?, ?)",
        (sku_id, price, stock)
    )
    conn.commit()
    conn.close()
    print(f"Monitored {sku_id}: Price={price}, Stock={stock}")

# 设置定时任务
scheduler = BlockingScheduler()
scheduler.add_job(lambda: monitor_product("100000000001"), "interval", hours=1)
scheduler.start()`
相关推荐
Gigavision4 小时前
基于BUAA-MIHR数据集的噪声解耦对比学习算法
人工智能·python·深度学习·算法
IPdodo_5 小时前
跨境 API 调用不稳定怎么办:出口、超时重试与链路监控的实践
网络·python·网络协议
Madison-No75 小时前
搭建项目测试环境
linux·运维·服务器·python
计算机编程-吉哥6 小时前
YOLO26 vs YOLO11 vs YOLOv8:深度学习咖啡果实成熟度分割系统【计算机毕业设计选题推荐】
人工智能·python·深度学习·yolo·django·毕业设计
大衛說6 小时前
11 · 异常处理与日志
python
auto_go7 小时前
Python 实战指南(7)——账本动不动就崩?先把“魔法字符串”和“裸报错”干掉
python
Beyond_System|系统之外7 小时前
【学编程】Python基础编程题100道(21-60)
开发语言·python·算法
根目录下的猫7 小时前
RK3588适配的轻量级AI模型推荐
人工智能·后端·python·目标检测
wno7047 小时前
Spring Security权限控制
java·python·spring
ShineWinsu8 小时前
对于Coze—AI:SDK的解析
人工智能·python·ai·sdk·项目·coze·字节跳动