58 lines
1.7 KiB
Bash
58 lines
1.7 KiB
Bash
|
|
#!/bin/bash
|
|||
|
|
# 招标公告爬虫执行脚本
|
|||
|
|
# 用于云端服务器定时执行
|
|||
|
|
|
|||
|
|
# 获取脚本所在目录
|
|||
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|||
|
|
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
|
|||
|
|
cd "$PROJECT_DIR"
|
|||
|
|
|
|||
|
|
echo "=========================================="
|
|||
|
|
echo "开始执行爬虫任务: $(date '+%Y-%m-%d %H:%M:%S')"
|
|||
|
|
echo "项目目录: $PROJECT_DIR"
|
|||
|
|
echo "=========================================="
|
|||
|
|
|
|||
|
|
# 激活虚拟环境
|
|||
|
|
if [ -d "venv" ]; then
|
|||
|
|
echo "激活虚拟环境..."
|
|||
|
|
source venv/bin/activate
|
|||
|
|
else
|
|||
|
|
echo "警告: 虚拟环境不存在,将使用系统Python"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 创建日志目录
|
|||
|
|
mkdir -p logs
|
|||
|
|
|
|||
|
|
# 日期时间
|
|||
|
|
DATE=$(date +"%Y%m%d_%H%M%S")
|
|||
|
|
LOG_FILE="logs/crawler_${DATE}.log"
|
|||
|
|
|
|||
|
|
echo "日志文件: $LOG_FILE"
|
|||
|
|
echo "" >> "$LOG_FILE"
|
|||
|
|
echo "==========================================" >> "$LOG_FILE"
|
|||
|
|
echo "开始执行爬虫任务: $(date '+%Y-%m-%d %H:%M:%S')" >> "$LOG_FILE"
|
|||
|
|
echo "==========================================" >> "$LOG_FILE"
|
|||
|
|
|
|||
|
|
# 执行爬虫(所有网站,所有公告类型,启用AI处理和上传)
|
|||
|
|
echo "执行爬虫命令..."
|
|||
|
|
python main.py -s all -P -U >> "$LOG_FILE" 2>&1
|
|||
|
|
|
|||
|
|
EXIT_CODE=$?
|
|||
|
|
|
|||
|
|
echo "" >> "$LOG_FILE"
|
|||
|
|
echo "==========================================" >> "$LOG_FILE"
|
|||
|
|
echo "爬虫任务完成: $(date '+%Y-%m-%d %H:%M:%S')" >> "$LOG_FILE"
|
|||
|
|
echo "退出码: $EXIT_CODE" >> "$LOG_FILE"
|
|||
|
|
echo "==========================================" >> "$LOG_FILE"
|
|||
|
|
|
|||
|
|
if [ $EXIT_CODE -eq 0 ]; then
|
|||
|
|
echo "✅ 爬虫任务执行成功!"
|
|||
|
|
echo "日志文件: $LOG_FILE"
|
|||
|
|
else
|
|||
|
|
echo "❌ 爬虫任务执行失败!退出码: $EXIT_CODE"
|
|||
|
|
echo "请查看日志文件: $LOG_FILE"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo "=========================================="
|
|||
|
|
exit $EXIT_CODE
|