From 0ba8b4c235d42cab95e5368375079601bd96beb5 Mon Sep 17 00:00:00 2001 From: hermes Date: Tue, 15 Sep 2026 05:36:15 +0000 Subject: [PATCH] =?UTF-8?q?v10.11=20=E6=96=B0=E5=A2=9E=E8=81=8C=E4=BD=8D?= =?UTF-8?q?=E7=BA=A7=E9=98=BB=E7=A2=8D:=20'=E5=BD=93=E5=89=8D=E8=81=8C?= =?UTF-8?q?=E4=BD=8D=E6=9C=AA=E4=B8=8A=E7=BA=BF/=E8=81=8C=E4=BD=8D?= =?UTF-8?q?=E5=B7=B2=E4=B8=8B=E7=BA=BF'=E2=86=92=E7=BB=88=E6=80=81?= =?UTF-8?q?=E5=81=9C=E6=AD=A2(=E6=8E=A8=E8=8D=90=E4=BD=8D=E8=81=8C?= =?UTF-8?q?=E4=BD=8D=E8=A2=AB=E4=B8=8B=E7=BA=BF=E6=97=B6=E6=89=80=E6=9C=89?= =?UTF-8?q?=E5=BC=B9=E7=AA=97=E5=90=8C=E6=96=87=E6=A1=88,=20=E9=9D=9E?= =?UTF-8?q?=E5=80=99=E9=80=89=E4=BA=BA=E7=BA=A7);=20=E6=B8=85=E7=90=86?= =?UTF-8?q?=E4=BB=8A=E6=97=A5=E8=AF=AF=E5=85=A5=E5=BA=93=E8=84=8F=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/start-hr1-runner.sh | 8 ++++++++ scripts/zhaopin-scrape.js | 4 +++- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 scripts/start-hr1-runner.sh diff --git a/scripts/start-hr1-runner.sh b/scripts/start-hr1-runner.sh new file mode 100644 index 0000000..c4f3f1e --- /dev/null +++ b/scripts/start-hr1-runner.sh @@ -0,0 +1,8 @@ +#!/bin/bash +cd /opt/data/skills/recruitment-resume-screener/scripts || exit 1 +mkdir -p /opt/data/logs/recruitment +LOG=/opt/data/logs/recruitment/runner-hr1-$(date +%F).log +ACCOUNT=hr1 CDP_PORT=9223 nohup node daily-runner.js hr1 9223 >> "$LOG" 2>&1 & +PID=$! +echo "$PID" > /opt/data/logs/recruitment/runner-hr1.pid +echo "hr1 runner started PID=$PID" diff --git a/scripts/zhaopin-scrape.js b/scripts/zhaopin-scrape.js index 654cabc..942b834 100755 --- a/scripts/zhaopin-scrape.js +++ b/scripts/zhaopin-scrape.js @@ -272,9 +272,11 @@ async function extractModalData(page) { // v10.8:候选人级提示 ≠ 平台阻碍。"对方已关闭求职/简历已删除/对方已找到工作/用户已隐藏在线简历"等 // 是单个候选人的状态提示,应跳过该人继续;只有限额/系统级文案才是平台阻碍 // v10.9(2026-09-02):补"用户已隐藏在线简历/暂不可查看/已屏蔽"——同样是被关闭的单人弹窗 + // v10.11(2026-09-15):补"当前职位未上线"——职位级状态(推荐位职位被下线,所有弹窗同文案),终态停止 const body = text; + const jobLevelNotice = /当前职位未上线|职位已下线|职位已关闭/.test(body) && body.length < 200; const candidateLevelNotice = /已关闭求职|无法继续进行沟通|已删除|简历不存在|已找到工作|职位已关闭|隐藏在线简历|暂不可查看|已屏蔽|不合适该职位|已停止找/.test(body) && body.length < 200; - const modalBlocked = (!hasName || !hasStructure) && !candidateLevelNotice; + const modalBlocked = (!hasName || !hasStructure) && !candidateLevelNotice && !jobLevelNotice; return { modalBlocked, candidateLevelNotice,