刘忠健 лет назад: 2
Родитель
Сommit
fee49b1eaa
2 измененных файлов с 71 добавлено и 1 удалено
  1. 69 0
      api/app/api/controller/Weather.php
  2. 2 1
      api/composer.json

+ 69 - 0
api/app/api/controller/Weather.php

@@ -0,0 +1,69 @@
+<?php
+
+
+namespace app\api\controller;
+
+
+use QL\QueryList;
+
+class Weather extends Base
+{
+    public function city()
+    {
+        //韶关 101280201
+        //仁化 101280206
+        //清远 101281301
+        //北京 101010100
+        $url = "http://www.weather.com.cn/weather/101280201.shtml";
+//        $ql=QueryList::getInstance()->get($url);
+        $options=[
+            'headers' => [
+                // 携带cookie
+                "Accept"=>"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
+                "Accept-Encoding"=>"gzip, deflate",
+                "Accept-Language"=>"zh-CN,zh;q=0.9,en;q=0.8",
+                "Cache-Control"=>"no-cache",
+                "Cookie"=>"userNewsPort0=1; defaultCty=101280201; f_city=%E9%9F%B6%E5%85%B3%7C101280201%7C; defaultCtyName=%u97F6%u5173",
+                "DNT"=>"1",
+                "Host"=>"www.weather.com.cn",
+                "Pragma"=>"no-cache",
+                "Proxy-Connection"=>"keep-alive",
+                "Referer"=>"http://www.weather.com.cn/weather1d/101280201.shtml",
+                "Upgrade-Insecure-Requests"=>"1",
+                "User-Agent"=>"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36",
+            ]
+        ];
+        $html = QueryList::getInstance()->get($url,[],$options)->getHtml();
+
+
+//        exit;
+        $ql = QueryList::getInstance()->html($html);
+        $html7d = $ql->find("#7d>.t")->html();
+        var_dump($html7d);
+        //$ql = QueryList::getInstance()->html($html7d);
+        //var_dump($html7d);
+//        $resList=$ql->find("li")->getElements();
+//        foreach ($resList as $key=>$value){
+//            print_r($value->textContent);
+//            var_dump("=======================$key===================");
+//        }
+        $rules = [
+            "title" => ["h1", "text"],
+            "wea" => [".wea", "text"],
+            "max"=>[".tem>span","text"],
+            "min"=>[".tem>i","text"],
+        ];
+        $range = '#7d>ul>li';
+        $res = $ql->rules($rules)->range($range)->query()->getData();
+        print_r($res);
+        /* $resList=$ql->find("li")->eq(0)->html();
+         var_dump($resList);
+         $resList=$ql->find("li")->eq(1)->html();
+         var_dump($resList);
+         $resList=$ql->find("li")->eq(2)->html();
+         var_dump($resList);*/
+//        print_r($resList);
+//        var_dump($html7d);
+    }
+
+}

+ 2 - 1
api/composer.json

@@ -27,7 +27,8 @@
         "endroid/qr-code": "^4.4",
         "hprose/hprose": "^2.0",
         "overtrue/wechat": "~5.0",
-        "topthink/think-view": "^1.0"
+        "topthink/think-view": "^1.0",
+        "jaeger/querylist": "^4.2"
     },
     "require-dev": {
         "symfony/var-dumper": "^4.2",