find('h3>a')->texts(); //获取搜索结果标题列表 //$links = $ql->find('h3>a')->attrs('href'); //获取搜索结果链接列表 //print_r($titles); //print_r($links); //die(); $wd = $_REQUEST['wd']; if (!$wd) { ?>



getActiveSheet(); $sheet->setTitle("百度"); $row = 1; foreach ($baidu as $key => $item) { $sheet->setCellValueByColumnAndRow(1, $row++, $item['keyword']); foreach ($item['related_keywords'] as $related_keyword) { $sheet->setCellValueByColumnAndRow(2, $row++, $related_keyword); } $row++; } $shenma_sheet=new Worksheet(); $row = 1; foreach ($shenma as $key => $item) { $shenma_sheet->setCellValueByColumnAndRow(1, $row++, $item['keyword']); foreach ($item['related_keywords'] as $related_keyword) { $shenma_sheet->setCellValueByColumnAndRow(2, $row++, $related_keyword); } $row++; } $shenma_sheet->setTitle("神马"); $spreadsheet->addSheet($shenma_sheet); $sougou_sheet=new Worksheet(); $row = 1; foreach ($sougou as $key => $item) { $sougou_sheet->setCellValueByColumnAndRow(1, $row++, $item['keyword']); foreach ($item['related_keywords'] as $related_keyword) { $sougou_sheet->setCellValueByColumnAndRow(2, $row++, $related_keyword); } $row++; } $sougou_sheet->setTitle("搜狗"); $spreadsheet->addSheet($sougou_sheet); $so_360_sheet=new Worksheet(); $row = 1; foreach ($so_360 as $key => $item) { $so_360_sheet->setCellValueByColumnAndRow(1, $row++, $item['keyword']); foreach ($item['related_keywords'] as $related_keyword) { $so_360_sheet->setCellValueByColumnAndRow(2, $row++, $related_keyword); } $row++; } $so_360_sheet->setTitle("360"); $spreadsheet->addSheet($so_360_sheet); $writer = new Xlsx($spreadsheet); header("Pragma: public"); header("Expires: 0"); header("Cache-Control:must-revalidate, post-check=0, pre-check=0"); header("Content-Type:application/force-download"); header("Content-Type:application/vnd.ms-execl"); header("Content-Type:application/octet-stream"); header("Content-Type:application/download"); header('Content-Disposition:attachment;filename="相关搜索词.xlsx"'); header("Content-Transfer-Encoding:binary"); $writer->save('php://output'); $spreadsheet->disconnectWorksheets(); } function baidu($wd){ $_url = "https://www.baidu.com/s?ie=UTF-8&wd=%s"; $result=[]; foreach ($wd as $key) { $url = sprintf($_url, $key); // $url="https://www.baidu.com/s?ie=UTF-8&wd=".$key; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => array( "Connection: keep-alive", "Pragma: no-cache", "Cache-Control: no-cache", "DNT: 1", "Upgrade-Insecure-Requests: 1", "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36", "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", "Sec-Fetch-Site: same-origin", "Sec-Fetch-Mode: navigate", "Sec-Fetch-User: ?1", "Sec-Fetch-Dest: document", "Referer: https://www.baidu.com/", "Accept-Language: zh-CN,zh;q=0.9,en;q=0.8", "Cookie: PSTM=1593415318; BIDUPSID=217E2F2D2D25A987334C6DA48D602863; BD_UPN=123253; BAIDUID=C223ACE43BE868524F32AAC535BEF108:FG=1; MCITY=-%3A; BDUSS=jhiS0tFcHlLZkw2bWdUV1Q3ZkZ-dzZVWVM5bGRPMkVleFp3S2kwWXlFU2ZnTkZmSUFBQUFBJCQAAAAAAAAAAAEAAABl-iwFx-np5NOwu-oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ~zqV-f86lfR; BDUSS_BFESS=jhiS0tFcHlLZkw2bWdUV1Q3ZkZ-dzZVWVM5bGRPMkVleFp3S2kwWXlFU2ZnTkZmSUFBQUFBJCQAAAAAAAAAAAEAAABl-iwFx-np5NOwu-oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ~zqV-f86lfR; ispeed_lsm=0; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; delPer=0; BD_CK_SAM=1; PSINO=7; ZD_ENTRY=baidu; BD_HOME=1; H_PS_PSSID=1433_33061_33098_33100_33198_33147; sugstore=1; H_PS_645EC=d2a6avOWAlxpBjqV3N7Iber%2F0MSibSPb1HevBV%2BstxJRDWyT9TLKdMWt8wo; BA_HECTOR=8184a0alaga1ah80in1fscafr0r; COOKIE_SESSION=2610_0_8_0_12_35_1_3_7_8_5_1_2482_0_21_0_1606737947_0_1606737926%7C9%230_1_1594003058%7C1" ), )); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); $html = curl_exec($curl); $error=curl_error($curl); if ($error){ print_r($error); } curl_close($curl); $ql=new QueryList(); $ql->setHtml($html); // $ql = (new QL\QueryList)->get($url); $table = $ql->find("#rs > table"); $tableRows = $table->find('tr')->map(function ($row) { return $row->find('th')->texts()->all(); }); $data = $tableRows->all(); $_result = []; foreach ($data as $item) { foreach ($item as $value) { $_result[] = $value; } } $result[] = [ 'keyword' => $key, 'related_keywords' => $_result ]; } return $result; } function shenma($keys){ $url="https://m.sm.cn/s?q=%s&from=smor&safe=1&snum=20"; $result=[]; foreach ($keys as $key) { $url = sprintf($url, $key); $_result = []; $ql = (new QL\QueryList)->get($url); $_data =$ql->find(".js-c-e-button-text")->texts()->all(); $_result=array_merge($_result,$_data); $result[] = [ 'keyword' => $key, 'related_keywords' => $_result ]; } return $result; } function sougou($keys){ $url="https://www.sogou.com/web?query=%s"; $result=[]; foreach ($keys as $key) { $_result = []; $url = sprintf($url, $key); $ql = (new QL\QueryList)->get($url); $_data =$ql->find("#float_uphint a")->texts()->all(); $_result=array_merge($_result,$_data); $_data =$ql->find(".hint-mid a")->texts()->all(); $_result=array_merge($_result,$_data); $table = $ql->find("#hint_container"); $tableRows =$table->find("tr")->map(function ($row){ return $row->find('a')->texts()->all(); }); $data = $tableRows->all(); foreach ($data as $item) { $_result=array_merge($_result,$item); } $result[] = [ 'keyword' => $key, 'related_keywords' => $_result ]; } return $result; } function so_360($keys){ $url="https://www.so.com/s?ie=utf-8&fr=none&src=360sou_newhome&q=%s"; $result=[]; foreach ($keys as $key) { $url = sprintf($url, $key); $ql = QueryList::get($url); $table = $ql->find("#rs > table"); $tableRows = $table->find('tr')->map(function ($row) { return $row->find('a')->texts()->all(); }); $data = $tableRows->all(); // var_dump($data); // die(); $_result = []; foreach ($data as $item) { foreach ($item as $value) { $_result[] = $value; } } $result[] = [ 'keyword' => $key, 'related_keywords' => $_result ]; } return $result; }