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;
}