From 08da801d0bde5db264d78ee3f7a54c6b2519db33 Mon Sep 17 00:00:00 2001 From: longchao <1432334894@qq.com> Date: Wed, 16 Jul 2025 14:16:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=94=A8=E4=B8=8D=E5=90=8C?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=99=BB=E5=BD=95=E7=9A=84cookie=E6=8A=93?= =?UTF-8?q?=E5=8F=96=E5=90=8C=E4=B8=80=E6=9D=A1=E5=BE=AE=E5=8D=9A=E8=AF=84?= =?UTF-8?q?=E8=AE=BA=E7=9A=84=E4=B8=8D=E5=90=8C=E5=88=86=E9=A1=B5=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E8=A2=AB=E7=88=AC=E8=99=AB=E8=AF=86=E5=88=AB=E6=8A=93?= =?UTF-8?q?=E5=8F=96=E5=A4=B1=E8=B4=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- queue/deal/spider_weibo_comment.php | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/queue/deal/spider_weibo_comment.php b/queue/deal/spider_weibo_comment.php index 0117974..0722c69 100644 --- a/queue/deal/spider_weibo_comment.php +++ b/queue/deal/spider_weibo_comment.php @@ -23,13 +23,6 @@ class spiderWeiboComment extends dealBase { exit; } - $cookie_data = json_decode($cookie_json, true); - $cookie = $cookie_data[PROC_CODE]; - if(empty($cookie)) { - if($rdobj->llen(_RQ_SPIDER_WEIBO_COMMENT) + 0 > 0) $obj->writeLog(ZHISHIKU_SPIDER_LOG, ZHISHIKU_SPIDER_COMMENT, '未设置该进程cookie:'.$baselog.'|'.$cookie_json); - exit; - } - $ipinfo = $rdobj->get(_RC_SPIDER_WEIBO_COMMENT_USE_IP); $ipdata = json_decode($ipinfo, true); if (!$ipinfo && PROC_CODE == 0 && ($rdobj->llen(_RQ_SPIDER_WEIBO_COMMENT) + 0 > 0 || !$this->is_while)) $ipdata = $obj->getZmhttpIp(_RC_SPIDER_WEIBO_COMMENT_USE_IP); @@ -46,7 +39,21 @@ class spiderWeiboComment extends dealBase { $obj->writeLog(ZHISHIKU_SPIDER_LOG, ZHISHIKU_SPIDER_COMMENT, '抓取开始:'.$baselog.'|'.$rq_data); + $cookie_data = json_decode($cookie_json, true); + $rq_data = json_decode($rq_data, true); + if(!empty($rq_data['cookie'])) { + $cookie = $rq_data['cookie']; + if(!in_array($cookie, $cookie_data)) $cookie = ''; + } else { + $cookie = $cookie_data[PROC_CODE]; + } + + if(empty($cookie)) { + $obj->writeLog(ZHISHIKU_SPIDER_LOG, ZHISHIKU_SPIDER_COMMENT, '未设置该进程cookie:'.$baselog.'|'.$cookie_json); + exit; + } + $rq_data['cookie'] = $cookie; $weibo_id = $rq_data['weibo_id']+0; $max_id = $rq_data['max_id']+0; @@ -80,7 +87,9 @@ class spiderWeiboComment extends dealBase { $obj->writeLog(ZHISHIKU_SPIDER_LOG, ZHISHIKU_SPIDER_COMMENT, '队列评论抓取失败,重试中:'.$error.'|'.$baselog.'|redis:'.$rds); - unset($cookie_data[PROC_CODE]); + $key = array_search($cookie, $cookie_data); + if ($key !== false) unset($cookie_data[$key]); + $rdobj->set(_RC_WEIBO_COMMENT_LOGIN_COOKIE2, json_encode($cookie_data)); if ($obj->is_change_ip && PROC_CODE == 0) $rdobj->del(_RC_SPIDER_WEIBO_COMMENT_USE_IP);