# kaquan_linux **Repository Path**: vipgit/kaquan_linux ## Basic Information - **Project Name**: kaquan_linux - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-04 - **Last Updated**: 2026-09-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 渠道商品信息采集与发布工具 自动采集多个渠道商的商品信息,合并后生成分级加密的离线 HTML 页面,并部署到远程仓库。 ## 目录结构 ``` ├── run_all.py # 主入口:并行抓取 → 合并 → 生成 HTML → 部署 ├── 91kami.py # 91kami 渠道商品抓取(Selenium) ├── ithmall.py # ithmall 渠道商品抓取(Selenium) ├── jhmaoo.py # jhmaoo 渠道商品抓取(API + Selenium 登录) ├── generate_html.py # 生成加密自包含 HTML ├── 91kami.ini # 91kami 抓取 URL 列表 ├── ithmall.ini # ithmall 抓取 URL 列表 ├── other.ini # 其他渠道 URL 列表(附来源注释) ├── pick.url # 精选 URL 列表 ├── crypto-js.min.js # CryptoJS 库(嵌入生成的 HTML) ├── *_products.json # 各来源原始商品数据 ├── merged_products.json # 合并后的商品数据 ├── merged_products.csv # 合并后的 CSV(过滤 price > 5000) ├── out/ # 生成的 HTML 输出目录 │ └── quanYYMMDD.html └── webrelease/ # 部署目录(git push) ``` ## 脚本说明 ### `run_all.py` — 主入口 一键完成全部流程: 1. 并行运行 `ithmall.py`、`91kami.py`、`jhmaoo.py` 抓取商品 2. 合并各来源 JSON → `merged_products.json` + `merged_products.csv` 3. 调用 `generate_html.py` 生成加密 HTML 4. 复制到 `webrelease/movie/quan.html` 并 git push 部署 ```bash python run_all.py ``` ### `91kami.py` — 91kami 渠道抓取 - 从 `91kami.ini` 读取 URL 列表 - 使用 Selenium 访问每个 URL,等待 JS 渲染后提取商品信息 - 输出 `91kami_products.json` ### `ithmall.py` — ithmall 渠道抓取 - 从 `ithmall.ini` 读取 URL 列表 - 使用 Selenium 访问 SPA 页面,提取渲染后的商品信息 - 输出 `ithmall_products.json` ### `jhmaoo.py` — jhmaoo 渠道抓取 - Selenium 登录 → 跳转分类页 → 拦截商品 API - 通过 API 分页获取全部商品,批量获取详情 - 仅合并 `store_url` 为默认地址的商品 - 输出 `jhmaoo_products.json` ### `generate_html.py` — 生成加密 HTML 读取 `merged_products.json`,生成分级加密的自包含离线 HTML 文件。 **密码分级:** | 等级 | 密码格式 | 示例输入 → 输出 | 有效期 | 解锁范围 | |------|----------|-----------------|--------|----------| | 管理员 | 固定 | `admin888` | 永久 | 全部商品 | | 专业版(年) | YYYY 二进制 | 2026 → `10010110` | 全年 | 全部商品 | | 专业版(月日) | MMDD 二进制 | 0524 → `010110100` | 当天 | 全部商品 | | 专业版(年月日) | YYMMDD 二进制 | 260524 → `10110010110100` | 当天 | 全部商品 | | 基础版 | 固定 | `123456` | 永久 | 全部商品(前3天每日20次,之后每日5次) | | 当日加次 | HHM二进制密码或管理员密码 | 14:35→`110011` / `admin888` | 当日 | 增加当日10次访问限额 | | 永久加次 | HHM二进制密码+hex校验+hex次数 | `1100113364` | 当次验证 | 增加永久访问次数(不随日期重置) | **专业版密码算法:** 取日期各数字,0/1 保持原样,2-9 转二进制拼接。 - MMDD 例:0524 → 0+101+10+0 → `010110100` - YYYY 例:2026 → 10+0+10+110 → `10010110` - YYMMDD 例:260524 → 10+110+0+101+10+0 → `10110010110100` **功能特性:** - AES-256-CBC 加密,不同密码解锁不同数据量 - URL 混淆存储(反转 + base64),防止明文泄露 - 个人信息清洗(自动移除微信号、手机号、QQ 号) - 价格过滤(> 5000 自动排除) - 基础版每日购买链接点击限制(前3天每日20次,之后每日5次) - 重置次数:次数耗尽时显示重置按钮,输入时间密码(当前时间 HHMM 前3位按同样规则转二进制)或管理员密码即可增加当日10次 - 永久次数:输入永久密码可增加不随日期重置的永久访问次数 - 永久密码格式:`{时间密码}{时间密码的16进制}{永久次数的16进制}` - 示例:时间密码 `110011`(=51,16进制`33`),永久+100次(16进制`64`)→ 永久密码 `1100113364` - 消耗顺序:先消耗当日次数,再消耗永久次数 - 运行日志自动保存至 `out/generate.log` ```bash # 默认生成(专业版密码为月日二进制) python generate_html.py # 自定义密码 python generate_html.py <基础版密码> <专业版密码> ``` ## 依赖 ``` selenium beautifulsoup4 pycryptodome requests ``` 需安装 Chrome 或 Firefox 浏览器驱动。 ## 配置文件格式 INI 文件每行一个 URL,`#` 开头为注释: ```ini # 注释行 https://example.com/shop1 https://example.com/shop2 ```