Files
GX-gp-notify/CRON_README.md
T

3.8 KiB
Raw Blame History

定时搜索脚本使用说明

脚本功能

cron_crawl.py 是一个用于定时搜索广西政府采购网公告的脚本,具有以下功能:

  • gx_gp_monitor/config/config.yaml 读取关键词配置
  • 搜索最新的公告(数据库中没有的)
  • 自动筛选匹配关键词的公告
  • 将筛选结果保存到数据库
  • 以卡片形式发送企业微信通知

文件结构

project/
├── venv/                      # Python虚拟环境
├── gx_gp_monitor/
│   ├── cron_crawl.py          # 定时搜索主脚本
│   └── config/config.yaml     # 配置文件
├── run_cron_crawl.sh          # 启动脚本(自动激活虚拟环境)
├── CRON_README.md             # 使用说明
└── cron_example.txt           # crontab配置示例

使用方法

1. 使用启动脚本(推荐)

# 在项目根目录下运行
./run_cron_crawl.sh

2. 直接运行Python脚本

cd gx_gp_monitor
python cron_crawl.py

3. 使用crontab定时运行

在Ubuntu系统上设置定时任务:

# 编辑crontab
crontab -e

# 添加定时任务(例如:每小时执行一次)
0 * * * * cd /home/v6ole/pyproject/GX-gp-notify && ./run_cron_crawl.sh >> /home/v6ole/pyproject/GX-gp-notify/logs/cron.log 2>&1

# 或者每30分钟执行一次
*/30 * * * * cd /home/v6ole/pyproject/GX-gp-notify && ./run_cron_crawl.sh >> /home/v6ole/pyproject/GX-gp-notify/logs/cron.log 2>&1

# 或者每天早上9点执行
0 9 * * * cd /home/v6ole/pyproject/GX-gp-notify && ./run_cron_crawl.sh >> /home/v6ole/pyproject/GX-gp-notify/logs/cron.log 2>&1

注意: 脚本会自动激活项目中的虚拟环境(venv目录),无需手动处理虚拟环境。

3. 脚本输出示例

=== 定时搜索任务完成 ===
总共搜索: 1300 条公告
新增公告: 5 条
关键词筛选: 2 条
保存到数据库: 2 条
企业微信通知: 成功

配置说明

关键词配置

gx_gp_monitor/config/config.yaml 中配置关键词:

crawler:
  keyword: ["大化", "信息化"]  # 支持多个关键词

企业微信配置

确保企业微信配置正确:

wechat_app:
  enabled: true                    # 必须启用
  corp_id: "your_corp_id"
  agent_id: "your_agent_id"
  secret: "your_secret"

数据库配置

确保数据库配置正确:

database:
  enabled: true                    # 必须启用
  host: "your_db_host"
  port: 5432
  name: "your_db_name"
  user: "your_db_user"
  password: "your_db_password"

日志查看

脚本运行日志保存在 logs/gx_gp_monitor.log,crontab输出日志保存在您配置的文件中。

# 查看最新日志
tail -f logs/gx_gp_monitor.log

# 查看crontab日志
tail -f /home/v6ole/pyproject/GX-gp-notify/logs/cron.log

注意事项

  1. 权限设置:确保脚本有执行权限

    chmod +x cron_crawl.py
    
  2. Python环境:确保Python环境和依赖已正确安装

    pip install -r gx_gp_monitor/requirements.txt
    
  3. 路径配置crontab中的路径必须是绝对路径

  4. 时区设置:确保系统时区设置正确,影响定时任务执行时间

  5. 资源消耗:搜索过程中会消耗一定的CPU和网络资源,建议在非高峰期运行

故障排除

脚本无法运行

  • 检查Python环境和依赖
  • 检查配置文件路径
  • 检查数据库连接

企业微信通知失败

  • 检查企业微信配置
  • 检查网络连接
  • 查看企业微信应用权限

数据库连接失败

  • 检查数据库配置
  • 检查数据库服务状态
  • 检查网络连接

crontab不执行

  • 检查crontab语法
  • 检查脚本路径
  • 检查用户权限
  • 查看系统日志:sudo grep CRON /var/log/syslog