|
@@ -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);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|