作者 lyh

GX生成白帽报表脚本

@@ -36,6 +36,10 @@ class GeoQuestionRes extends Command @@ -36,6 +36,10 @@ class GeoQuestionRes extends Command
36 public function handle(){ 36 public function handle(){
37 while (true){ 37 while (true){
38 $task_id = $this->getTaskId(); 38 $task_id = $this->getTaskId();
  39 + if(empty($task_id)){
  40 + sleep(30);
  41 + continue;
  42 + }
39 $questionModel = new GeoQuestion();//问题 43 $questionModel = new GeoQuestion();//问题
40 $info = $questionModel->read(['id'=>$task_id]); 44 $info = $questionModel->read(['id'=>$task_id]);
41 //获取当前项目的执行频率 45 //获取当前项目的执行频率
@@ -107,10 +111,16 @@ class GeoQuestionRes extends Command @@ -107,10 +111,16 @@ class GeoQuestionRes extends Command
107 * @method :post 111 * @method :post
108 * @time :2025/7/3 16:38 112 * @time :2025/7/3 16:38
109 */ 113 */
110 - public function getUrl($urlArr = [],$result_annotations = []){ 114 + public function getUrl($urlArr = [],$result_annotations = [],$result_text = []){
111 $url = []; 115 $url = [];
112 - if(!empty($urlArr) && !empty($result_annotations)){ 116 + if(!empty($urlArr)){
113 foreach ($urlArr as $u_item){ 117 foreach ($urlArr as $u_item){
  118 + if(!empty($result_text)){
  119 + if (str_contains($result_text, $u_item)) {
  120 + $url[] = $u_item;
  121 + }
  122 + }
  123 + if(!empty($result_annotations)){
114 foreach ($result_annotations as $a_item){ 124 foreach ($result_annotations as $a_item){
115 echo 'url'.$a_item['url_citation']['url'].PHP_EOL.'当前的url:'.$u_item; 125 echo 'url'.$a_item['url_citation']['url'].PHP_EOL.'当前的url:'.$u_item;
116 if (str_contains($a_item['url_citation']['url'], $u_item)) { 126 if (str_contains($a_item['url_citation']['url'], $u_item)) {
@@ -119,7 +129,8 @@ class GeoQuestionRes extends Command @@ -119,7 +129,8 @@ class GeoQuestionRes extends Command
119 } 129 }
120 } 130 }
121 } 131 }
122 - return $url; 132 + }
  133 + return array_values(array_unique($url));
123 } 134 }
124 135
125 /** 136 /**