|
@@ -1,6 +1,7 @@
|
|
|
<?php
|
|
<?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\Ext\Baidu;
|
|
use QL\Ext\Baidu;
|
|
|
use QL\QueryList;
|
|
use QL\QueryList;
|
|
@@ -17,28 +18,45 @@ $ql->use(Baidu::class, 'baidu');
|
|
|
$baidu = $ql->baidu(10);
|
|
$baidu = $ql->baidu(10);
|
|
|
$str = "site:" . $domain;
|
|
$str = "site:" . $domain;
|
|
|
if ($word) {
|
|
if ($word) {
|
|
|
- $str = $str . " " . $word;
|
|
|
|
|
-}
|
|
|
|
|
-$searcher = $baidu->search($str);
|
|
|
|
|
-$count = $searcher->getCount();
|
|
|
|
|
-$page=$page>$count?$count:$page;
|
|
|
|
|
-$result=[];
|
|
|
|
|
-for ($i = 1; $i <= $page; $i++) {
|
|
|
|
|
- $data = $searcher->page($i, true);
|
|
|
|
|
- $data = json_decode(json_encode($data), true);
|
|
|
|
|
- $result=array_merge($result,$data);
|
|
|
|
|
|
|
+ $origin_str = [';', ';', ',', ',', ' ', "\r\n"];
|
|
|
|
|
+ $des_str = [',', ',', ',', ',', ',', ','];
|
|
|
|
|
+ $word = str_replace($origin_str, $des_str, $word);
|
|
|
|
|
+ $word=explode(",", $word);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
$header = [[
|
|
$header = [[
|
|
|
'标题',
|
|
'标题',
|
|
|
'链接',
|
|
'链接',
|
|
|
]];
|
|
]];
|
|
|
-$result=array_merge($header,$result);
|
|
|
|
|
|
|
+$p = 0;
|
|
|
$spreadsheet = new Spreadsheet();
|
|
$spreadsheet = new Spreadsheet();
|
|
|
|
|
+foreach ($word as $item) {
|
|
|
|
|
+ $str = $str . " " . $item;
|
|
|
|
|
+ $searcher = $baidu->search($str);
|
|
|
|
|
+ $count = $searcher->getCount();
|
|
|
|
|
+ $page = $page > $count ? $count : $page;
|
|
|
|
|
+ $result = [];
|
|
|
|
|
+ for ($i = 1; $i <= $page; $i++) {
|
|
|
|
|
+ $data = $searcher->page($i, true);
|
|
|
|
|
+ $data = json_decode(json_encode($data), true);
|
|
|
|
|
+ $result = array_merge($result, $data);
|
|
|
|
|
+ }
|
|
|
|
|
+ $act_sheet = $spreadsheet->getActiveSheet();
|
|
|
|
|
+ $result = array_merge($header, $result);
|
|
|
|
|
+ $title=$item;
|
|
|
|
|
+ if ($p == 0) {
|
|
|
|
|
+ $act_sheet->setTitle($title);
|
|
|
|
|
+ $act_sheet->fromArray($result);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ $sheet = new Worksheet();
|
|
|
|
|
+ $sheet->setTitle($title);
|
|
|
|
|
+ $sheet->fromArray($result);
|
|
|
|
|
+ $spreadsheet->addSheet($sheet);
|
|
|
|
|
+ }
|
|
|
|
|
+ $p++;
|
|
|
|
|
+}
|
|
|
try {
|
|
try {
|
|
|
- $title="site数据";
|
|
|
|
|
- $sheet = $spreadsheet->getActiveSheet();
|
|
|
|
|
- $sheet->setTitle($title);
|
|
|
|
|
- $sheet->fromArray($result);
|
|
|
|
|
|
|
+
|
|
|
$writer = new Xlsx($spreadsheet);
|
|
$writer = new Xlsx($spreadsheet);
|
|
|
header("Pragma: public");
|
|
header("Pragma: public");
|
|
|
header("Expires: 0");
|
|
header("Expires: 0");
|
|
@@ -47,13 +65,14 @@ try {
|
|
|
header("Content-Type:application/vnd.ms-execl");
|
|
header("Content-Type:application/vnd.ms-execl");
|
|
|
header("Content-Type:application/octet-stream");
|
|
header("Content-Type:application/octet-stream");
|
|
|
header("Content-Type:application/download");
|
|
header("Content-Type:application/download");
|
|
|
- header('Content-Disposition:attachment;filename="'.$title.'.xlsx"');
|
|
|
|
|
|
|
+ header('Content-Disposition:attachment;filename="site数据.xlsx"');
|
|
|
header("Content-Transfer-Encoding:binary");
|
|
header("Content-Transfer-Encoding:binary");
|
|
|
$writer->save('php://output');
|
|
$writer->save('php://output');
|
|
|
$spreadsheet->disconnectWorksheets();
|
|
$spreadsheet->disconnectWorksheets();
|
|
|
} catch (\PhpOffice\PhpSpreadsheet\Exception $e) {
|
|
} catch (\PhpOffice\PhpSpreadsheet\Exception $e) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
//$data = $searcher->page(1,true);
|
|
//$data = $searcher->page(1,true);
|
|
|
//$data=json_decode(json_encode($data),true);
|
|
//$data=json_decode(json_encode($data),true);
|
|
|
//print_r($data);
|
|
//print_r($data);
|