+
Skip to content

anan1i/JD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

京东商品库存监控工具

项目说明

这是一个基于Python开发的京东商品库存监控工具,用于帮助用户及时了解商品库存和价格变化信息。该工具仅用于学习和研究目的,请勿用于商业用途。

功能特性

  • 用户认证:支持京东账号安全登录
  • 商品监控:实时监控商品库存和价格变化
  • 风险控制:内置风控检测和防护机制
  • 消息通知:支持多种通知方式(WebHook、邮件等)
  • 日志记录:详细的操作和异常日志记录

使用方法

1. 环境准备

在开始使用本工具之前,请确保您的系统满足以下要求:

  1. Python环境要求

    • 安装Python 3.7或更高版本
    • 可以通过以下命令检查Python版本:
    python --version

    如果未安装Python,请访问Python官网下载并安装。

  2. 获取项目代码

    • 使用git克隆项目到本地:
    git clone https://github.com/your-username/jd-stock-monitor.git
    • 或直接下载项目压缩包并解压
  3. 安装依赖包

    • 进入项目目录:
    cd jd-stock-monitor
    • 使用pip安装所需依赖:
    pip install -r requirements.txt

    注意:如果安装过程中出现网络问题,可以尝试使用国内镜像源:

    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

2. 配置文件设置

正确的配置对于工具的运行至关重要,请按照以下步骤进行设置:

  1. 创建配置文件

    • 复制配置文件模板:
    cp .env.example .env
    • 如果是Windows系统,可以直接复制.env.example并重命名为.env
  2. 编辑配置文件 使用文本编辑器打开.env文件,配置以下信息:

    a) 账号信息(必填):

    JD_USERNAME=your_username    # 京东账号(建议使用手机号)
    JD_PASSWORD=your_password    # 账号密码

    b) 监控配置(必填):

    TARGET_SKUS=["100016034372","100016034374"]  # 商品ID列表,可添加多个
    AREA_ID=1_2810_51081_0      # 配送地址ID(可从京东URL中获取)
    CHECK_INTERVAL=10            # 检查间隔时间(秒),建议不要设置太小

    c) 通知设置(可选):

    # 邮件通知配置
    SMTP_SERVER=smtp.gmail.com
    SMTP_PORT=587
    SMTP_USERNAME=your_email@gmail.com
    SMTP_PASSWORD=your_email_password
    NOTIFY_EMAIL=receiver@example.com
    
    # WebHook通知配置
    WEBHOOK_URL=https://your-webhook-url
  3. 配置说明

    • AREA_ID获取方法:
      1. 打开京东网页版
      2. 选择配送地址
      3. 从URL中获取地址ID参数
    • CHECK_INTERVAL建议值:
      • 正常监控:10-30秒
      • 高频监控:5-10秒(注意风控风险)

3. 运行程序

完成配置后,按照以下步骤运行程序:

  1. 启动监控

    python main.py
  2. 首次运行说明

    • 程序会自动尝试登录京东账号
    • 如果遇到验证码,会在控制台显示提示信息
    • 登录成功后会开始监控配置的商品
  3. 运行状态说明 程序运行后会显示以下信息:

    • 登录状态
    • 商品监控列表
    • 库存检查结果
    • 通知发送状态

4. 常见问题解决

  1. 登录相关问题 a) 遇到验证码:

    • 程序会自动处理简单的图形验证码
    • 对于滑动验证码,需要手动操作:
      1. 查看控制台提示信息
      2. 按照提示在浏览器中完成验证
      3. 验证完成后程序会自动继续

    b) 账号被风控:

    • 调整CHECK_INTERVAL值,建议增加到30秒以上
    • 在.env中配置代理IP:
      PROXY=http://your-proxy-ip:port
    • 更换账号尝试
  2. 监控相关问题 a) 无法获取商品信息:

    • 确认商品ID是否正确
    • 检查网络连接
    • 验证配送地址ID是否有效

    b) 库存检测不准确:

    • 增加CHECK_INTERVAL值
    • 确认商品是否限定区域销售
    • 检查是否被商品反爬虫机制拦截
  3. 通知相关问题 a) 邮件通知失败:

    • 检查SMTP配置是否正确
    • 确认邮箱安全设置是否允许SMTP
    • 尝试使用应用专用密码

    b) WebHook通知失败:

    • 验证WebHook地址是否可访问
    • 检查网络连接状态
    • 查看WebHook服务器日志
  4. 其他常见问题 a) 程序异常退出:

    • 查看logs目录下的日志文件
    • 检查配置文件格式是否正确
    • 确保系统Python环境正常

    b) 内存占用过高:

    • 检查是否同时监控过多商品
    • 适当增加检查间隔时间
    • 考虑清理日志文件

注意事项

  • 本工具仅用于学习研究,禁止用于商业用途
  • 请遵守京东平台的使用规则和条款
  • 建议使用自己的京东账号进行测试
  • 合理设置监控频率,避免触发风控
  • 定期检查和更新配置信息

免责声明

本项目仅用于技术学习和研究目的,使用本工具产生的任何后果由使用者自行承担。

技术架构

├── jd_seckill/
│   ├── auth/                  # 认证模块
│   │   ├── login.py           # 登录逻辑
│   │   └── risk_control.py    # 风控检测
│   ├── monitor/               # 监控模块
│   │   ├── stock_checker.py   # 库存检测
│   │   └── time_sync.py       # 时间同步
│   ├── order/                 # 订单模块
│   │   ├── submit_order.py    # 下单逻辑
│   │   └── payment.py         # 支付处理
│   ├── utils/                 # 工具库
│   │   ├── request_util.py    # 请求封装
│   │   ├── captcha.py         # 验证码处理
│   │   └── log_handler.py     # 日志管理
│   └── config.py              # 配置文件

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载