Skip to content

Samiya321/VintageVigil

Repository files navigation

VintageVigil

VintageVigil 是一个专门监控日本多个二手网站上新商品的Python爬虫项目。它能够实时抓取网站上新商品信息,并通过配置的消息推送方式通知用户。

支持的网站

主要功能

  • 关键词监控:监控指定关键词的商品上新。
  • 特定卖家监控(仅限Mercari):监控指定卖家的所有商品。
  • 多网站、多关键词、多卖家监控支持,可分别设置不同的推送方式。
  • 多种推送方式,包括Telegram和企业微信。
  • 自定义设置监控延迟、汇率、商品价格区间、商品状态、品类和品牌等。
  • 自定义设置是否推送涨价和降价的商品,避免有些网站短时间内大量商品的价格变动
  • 支持自定义消息推送模板。
  • 默认按最新上架排序,计划支持自定义排序。
  • 默认项目运行后的第一轮监控结果不会被推送,避免推送过多信息

项目结构

VintageVigil 
├── common
│   ├── config              # 读取配置文件
│   ├── database            # 数据库操作
│   ├── logger              # 日志打印
│   └── notify              # 消息推送
├── monitor
│   ├── initialization.py   # 资源初始化
│   ├── manager.py 
│   └── monitoring.py       # 实际监控             
├── website
│   ├── base
│   │   ├── scraper_mercari         # 煤炉爬虫基类
│   │   ├── scraper.py              # 其他网址爬虫基类
│   │   └── search_result_item.py   # 搜索结果类型定义
│   ├── fril.py                         # fril关键词监控
│   ├── jumpshop.py                     # jumpshop关键词监控
│   ├── lashinbang.py                   # lashinbang关键词监控
│   ├── mercari_items.py                # mercari卖家监控
│   ├── mercari_search.py               # mercari关键词监控
│   ├── paypay.py                       # paypay关键词监控
│   └── suruga.py                       # suruga关键词监控
├── main.py                 # 主程序
├── README.md
├── requirements.txt        # python依赖
└── run_checker.sh          # 运行脚本,持续监控进程状态

使用方法

本地运行

  1. 克隆项目:
git clone -b main https://github.com/Samiya321/VintageVigil.git
cd VintageVigil
  1. 安装Python和依赖:(python3.8-3.11均可)
pip install -r requirements.txt
  1. 配置环境变量:在项目根目录下创建 .env 文件,并根据需要配置相应的环境变量。
# Http代理
HTTP_PROXY=""

# Telegram BotToken
TELEGRAM_BOT_TOKEN_1=""
TELEGRAM_BOT_TOKEN_2=""

# 企业微信应用的CorpID和CorpSecret
WECOM_CORP_ID=""
WECOM_CORP_SECRET=""

# 企业微信应用的AgentID
WECOM_AGENT_ID_1=""
  1. 用户配置:在 user 目录下新建一个文件夹并在该目录下新建 config.toml 文件,参考 config_example.toml 文件进行配置。 如有多个用户,可在 user 目录下新建多个文件夹,每个文件夹下都需要有一个 config.toml 文件。

  2. 启动项目:

    python main.py

Docker Compose运行

  1. 创建 docker-compose.yml 文件并配置。
version: '3.8'

services:
  VintageVigil:
    image: samiya777/vintagevigil:latest
    container_name: VintageVigil
    network_mode: bridge
    restart: unless-stopped
    volumes:
      - ./user:/root/VintageVigil/user
    environment:
        # Telegram BotToken
      - TELEGRAM_BOT_TOKEN_1=
      - TELEGRAM_BOT_TOKEN_2=
        # 企业微信应用的CorpID和CorpSecret和AgentID
      - WECOM_CORP_ID=
      - WECOM_CORP_SECRET=
      - WECOM_AGENT_ID_1=
  1. docker-compose.yml同级目录下新建 user 目录,并按照需求配置 config.toml 文件。

  2. 启动容器:

    docker-compose up -d
  3. 更新容器:

    docker-compose pull
    docker-compose up -d

日志查看

  • 本地运行:日志文件生成在 config.toml 同级目录下。
  • Docker运行:使用 docker logs -f VintageVigil 命令查看日志。