停止使用puppeteer,换用axios与cheerio。
This commit is contained in:
40
README.md
40
README.md
@@ -4,7 +4,7 @@
|
||||
|
||||
## ✨ 核心功能
|
||||
|
||||
* **定时抓取**:自动访问工商银行黄金价格页面,并使用 Puppeteer 解析实时价格。
|
||||
* **定时抓取**:自动请求工商银行黄金价格页面,并使用 `axios + cheerio` 解析实时价格(无需浏览器)。
|
||||
* **智能推送**:
|
||||
* **变化触发**:当价格在设定时间窗口内波动超过阈值时推送。
|
||||
* **特殊价位**:可设置一组目标价位,当价格“穿过”任一目标价时立即推送特殊提醒。
|
||||
@@ -26,30 +26,10 @@ cd gold-price-monitor
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
此步骤将安装 `puppeteer-core` 和 `serverchan-sdk`。
|
||||
此步骤将安装 `axios`、`cheerio` 和 `serverchan-sdk`。
|
||||
|
||||
### 3. 安装 Chrome/Chromium 浏览器
|
||||
**本脚本使用 `puppeteer-core`,它需要系统中已安装一个兼容的 Chrome 或 Chromium 浏览器,但不会自动下载。**
|
||||
|
||||
* **在 Ubuntu/Debian 系统上安装 Chromium**:
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt install -y chromium-browser
|
||||
```
|
||||
* **在 CentOS/RHEL 系统上安装 Chromium**:
|
||||
```bash
|
||||
sudo yum install -y epel-release
|
||||
sudo yum install -y chromium
|
||||
```
|
||||
* 对于其他操作系统,请从 https://www.google.com/chrome/ 或相应包管理器安装。
|
||||
|
||||
安装后,需要找到浏览器的可执行文件路径。通常位于:
|
||||
- `/usr/bin/chromium-browser` (Chromium on Linux)
|
||||
- `/usr/bin/google-chrome` (Chrome on Linux)
|
||||
- `C:\Program Files\Google\Chrome\Application\chrome.exe` (Windows)
|
||||
|
||||
### 4. 配置环境变量
|
||||
脚本运行需要两个关键环境变量:
|
||||
### 3. 配置环境变量
|
||||
脚本运行需要一个关键环境变量:
|
||||
|
||||
1. **ServerChan 推送密钥 (`PUSH_KEYT`)**:
|
||||
* 前往 https://sc3.ft07.com/ 登录并获取您的 `SendKey`。
|
||||
@@ -60,14 +40,7 @@ npm install
|
||||
# export PUSH_KEYT="Key1;Key2;Key3"
|
||||
```
|
||||
|
||||
2. **Chrome 浏览器路径 (`CHROME_PATH`)**(可选但推荐):
|
||||
* 如果您安装的浏览器不在脚本默认的 `/usr/bin/chromium-browser`,则必须设置此变量。
|
||||
```bash
|
||||
export CHROME_PATH="/usr/bin/chromium-browser" # 或您的实际路径
|
||||
# 例如在macOS上可能是:`export CHROME_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"`
|
||||
```
|
||||
|
||||
### 5. 运行脚本
|
||||
### 4. 运行脚本
|
||||
```bash
|
||||
# 直接运行一次(测试用)
|
||||
node GoldPriceV6cooldown.js
|
||||
@@ -158,11 +131,10 @@ const SPECIAL_PRICE_TARGETS = [500, 520, 550]; // 例如,设置500、520、550
|
||||
2. **选择器更新**:如果目标网页结构改版,可能需要更新脚本中的 `PRICE_SELECTOR` 变量。您可以使用浏览器的开发者工具检查元素。
|
||||
3. **推送频率限制**:免费版 ServerChan 有推送次数限制,请合理配置 `pushIntervalMinutes` 和 `coolDownMinutesForSinglePrice` 等参数。
|
||||
4. **环境变量安全**:务必通过环境变量设置 `PUSH_KEYT`,切勿将其直接写入代码或提交至版本库。
|
||||
5. **浏览器路径**:在非标准路径安装 Chrome/Chromium 时,**必须**正确设置 `CHROME_PATH` 环境变量,否则脚本将无法启动浏览器。
|
||||
|
||||
## 🔧 故障排查
|
||||
|
||||
- **错误:无法启动浏览器**:确认 `CHROME_PATH` 环境变量已设置且路径正确。也可尝试在脚本中直接修改 `puppeteer.launch` 的 `executablePath` 参数。
|
||||
- **抓取失败/解析失败**:确认网络可访问目标页面;如果网页结构改版,检查并更新脚本中的 `PRICE_SELECTOR`。
|
||||
- **无推送**:检查 `PUSH_KEYT` 环境变量是否设置正确;查看控制台日志确认价格是否成功抓取及触发条件是否满足。
|
||||
- **推送过于频繁**:调整 `CONFIG.pushIntervalMinutes` 和 `CONFIG.changeThresholdYuan` 参数。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user