| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <?php
- use PhpOffice\PhpSpreadsheet\Spreadsheet;
- use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
- use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
- use QL\Ext\Baidu;
- use QL\QueryList;
- require_once('vendor/autoload.php');
- $domain = $_POST['domain'];
- $page = $_POST['page'];
- $word = $_POST['word'];
- $ql = QueryList::getInstance();
- //$ql->use(Baidu::class);
- //or Custom function name
- $ql->use(Baidu::class, 'baidu', "M");
- $baidu = $ql->baidu(10);
- $str = "site:" . $domain;
- if ($word) {
- $origin_str = [';', ';', ',', ',', ' ', "\r\n"];
- $des_str = [',', ',', ',', ',', ',', ','];
- $word = str_replace($origin_str, $des_str, $word);
- $word = explode(",", $word);
- }
- $header = [[
- 'title' => '标题',
- 'link' => '链接'
- ]];
- $p = 0;
- $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);
- $data = array_filter($data);
- $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 {
- $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="site数据-[' . $domain . '].xlsx"');
- header("Content-Transfer-Encoding:binary");
- $writer->save('php://output');
- $spreadsheet->disconnectWorksheets();
- } catch (\PhpOffice\PhpSpreadsheet\Exception $e) {
- }
- //$data = $searcher->page(1,true);
- //$data=json_decode(json_encode($data),true);
- //print_r($data);
|