|
@@ -9,6 +9,7 @@ set_time_limit(0);
|
|
|
require_once('vendor/autoload.php');
|
|
require_once('vendor/autoload.php');
|
|
|
|
|
|
|
|
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|
|
|
|
+use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
|
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
|
|
use QL\QueryList;
|
|
use QL\QueryList;
|
|
|
|
|
|
|
@@ -84,7 +85,7 @@ if (!$wd) {
|
|
|
$row++;
|
|
$row++;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- $shenma_sheet=new \PhpOffice\PhpSpreadsheet\Worksheet\Worksheet();
|
|
|
|
|
|
|
+ $shenma_sheet=new Worksheet();
|
|
|
$row = 1;
|
|
$row = 1;
|
|
|
foreach ($shenma as $key => $item) {
|
|
foreach ($shenma as $key => $item) {
|
|
|
$shenma_sheet->setCellValueByColumnAndRow(1, $row++, $item['keyword']);
|
|
$shenma_sheet->setCellValueByColumnAndRow(1, $row++, $item['keyword']);
|
|
@@ -96,7 +97,7 @@ if (!$wd) {
|
|
|
$shenma_sheet->setTitle("神马");
|
|
$shenma_sheet->setTitle("神马");
|
|
|
$spreadsheet->addSheet($shenma_sheet);
|
|
$spreadsheet->addSheet($shenma_sheet);
|
|
|
|
|
|
|
|
- $sougou_sheet=new \PhpOffice\PhpSpreadsheet\Worksheet\Worksheet();
|
|
|
|
|
|
|
+ $sougou_sheet=new Worksheet();
|
|
|
$row = 1;
|
|
$row = 1;
|
|
|
foreach ($sougou as $key => $item) {
|
|
foreach ($sougou as $key => $item) {
|
|
|
$sougou_sheet->setCellValueByColumnAndRow(1, $row++, $item['keyword']);
|
|
$sougou_sheet->setCellValueByColumnAndRow(1, $row++, $item['keyword']);
|
|
@@ -108,7 +109,7 @@ if (!$wd) {
|
|
|
$sougou_sheet->setTitle("搜狗");
|
|
$sougou_sheet->setTitle("搜狗");
|
|
|
$spreadsheet->addSheet($sougou_sheet);
|
|
$spreadsheet->addSheet($sougou_sheet);
|
|
|
|
|
|
|
|
- $so_360_sheet=new \PhpOffice\PhpSpreadsheet\Worksheet\Worksheet();
|
|
|
|
|
|
|
+ $so_360_sheet=new Worksheet();
|
|
|
$row = 1;
|
|
$row = 1;
|
|
|
foreach ($so_360 as $key => $item) {
|
|
foreach ($so_360 as $key => $item) {
|
|
|
$so_360_sheet->setCellValueByColumnAndRow(1, $row++, $item['keyword']);
|
|
$so_360_sheet->setCellValueByColumnAndRow(1, $row++, $item['keyword']);
|
|
@@ -161,24 +162,14 @@ function baidu($wd){
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function shenma($keys){
|
|
function shenma($keys){
|
|
|
- $url="https://yz.m.sm.cn/s?q=%s&by=submit&uc_param_str=dnntnwvepffrgibijbprsvdsdichei&from=ws984141";
|
|
|
|
|
|
|
+ $url="https://m.sm.cn/s?q=%s&from=smor&safe=1&snum=20";
|
|
|
$result=[];
|
|
$result=[];
|
|
|
foreach ($keys as $key) {
|
|
foreach ($keys as $key) {
|
|
|
$url = sprintf($url, $key);
|
|
$url = sprintf($url, $key);
|
|
|
- $ql = QueryList::get($url);
|
|
|
|
|
- $table = $ql->find(".ali_rel > ul > li");
|
|
|
|
|
- $tableRows = $table->map(function ($row) {
|
|
|
|
|
- return $row->find('a')->texts()->all();
|
|
|
|
|
- });
|
|
|
|
|
- $data = $tableRows->all();
|
|
|
|
|
-// var_dump($data);
|
|
|
|
|
-// die();
|
|
|
|
|
$_result = [];
|
|
$_result = [];
|
|
|
- foreach ($data as $item) {
|
|
|
|
|
- foreach ($item as $value) {
|
|
|
|
|
- $_result[] = $value;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ $ql = (new QL\QueryList)->get($url);
|
|
|
|
|
+ $_data =$ql->find(".js-c-e-button-text")->texts()->all();
|
|
|
|
|
+ $_result=array_merge($_result,$_data);
|
|
|
$result[] = [
|
|
$result[] = [
|
|
|
'keyword' => $key,
|
|
'keyword' => $key,
|
|
|
'related_keywords' => $_result
|
|
'related_keywords' => $_result
|
|
@@ -191,26 +182,32 @@ function sougou($keys){
|
|
|
$url="https://www.sogou.com/web?query=%s";
|
|
$url="https://www.sogou.com/web?query=%s";
|
|
|
$result=[];
|
|
$result=[];
|
|
|
foreach ($keys as $key) {
|
|
foreach ($keys as $key) {
|
|
|
|
|
+ $_result = [];
|
|
|
$url = sprintf($url, $key);
|
|
$url = sprintf($url, $key);
|
|
|
- $ql = QueryList::get($url);
|
|
|
|
|
|
|
+ $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");
|
|
$table = $ql->find("#hint_container");
|
|
|
- $tableRows = $table->find('tr')->map(function ($row) {
|
|
|
|
|
|
|
+ $tableRows =$table->find("tr")->map(function ($row){
|
|
|
return $row->find('a')->texts()->all();
|
|
return $row->find('a')->texts()->all();
|
|
|
});
|
|
});
|
|
|
|
|
+
|
|
|
$data = $tableRows->all();
|
|
$data = $tableRows->all();
|
|
|
-// var_dump($data);
|
|
|
|
|
-// die();
|
|
|
|
|
- $_result = [];
|
|
|
|
|
foreach ($data as $item) {
|
|
foreach ($data as $item) {
|
|
|
- foreach ($item as $value) {
|
|
|
|
|
- $_result[] = $value;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ $_result=array_merge($_result,$item);
|
|
|
}
|
|
}
|
|
|
$result[] = [
|
|
$result[] = [
|
|
|
'keyword' => $key,
|
|
'keyword' => $key,
|
|
|
'related_keywords' => $_result
|
|
'related_keywords' => $_result
|
|
|
];
|
|
];
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
return $result;
|
|
return $result;
|
|
|
}
|
|
}
|
|
|
function so_360($keys){
|
|
function so_360($keys){
|