Charles 抓取百度指数及微信指数
一、百度指数

filter:/api/SearchApi/index //搜索指数

filter:/api/SearchApi/index //搜索指数
找到uniqid,继续filter,获取data(用于解密)


filter: api/SearchApi/index ,获取对应指数数据用于解密,页面控制台解密:

解密代码
function decrypt (t, e) {
if (!t)
return "";
for (var a = t.split(""), n = e.split(""), i = {}, r = [], o = 0; o < a.length / 2; o++)
i[a[o]] = a[a.length / 2 + o];
for (var s = 0; s < e.length; s++)
r.push(i[n[s]]);
return r.join("")
}
resp = decrypt("%no,MgmqS5cI2PV27-9.830+1564%,","5ncV5gIV52qV5%gVIIVInVI5VInVc,VIIV5%2V5%2V5c2V5I,V5cmV5IIV%qIV5cgV5cgVI,V52%V5c,V5gIV5cnV52mV5mmV5m,V525V5ccV5c2")
console.log(resp)
二、微信指数
filter:wxaweb/wxindex

选中连接右键选择copy curl request
curl -H "Host: search.weixin.qq.com" -H "xweb_xhr: 1" -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF WindowsWechat(0x6309071d)XWEB/8461" -H "Content-Type: application/json" -H "Accept: */*" -H "Sec-Fetch-Site: cross-site" -H "Sec-Fetch-Mode: cors" -H "Sec-Fetch-Dest: empty" -H "Referer: https://servicewechat.com/wxc026e7662ec26a3a/43/page-frame.html" -H "Accept-Language: zh-CN,zh;q=0.9" --data-binary "{\"openid\":\"ov4ns0FDBHu62yON4EUkflFa49Gw\",\"search_key\":\"1698200592895285_1665915831\",\"cgi_name\":\"GetDefaultIndex\",\"query\":[\"瀹佸痉鏃朵唬\"],\"start_ymd\":\"20221025\",\"end_ymd\":\"20231025\"}" --compressed "https://search.weixin.qq.com/cgi-bin/wxaweb/wxindex"
通过gpt转为PHP代码并导出:
//微信指数
public function wechat_scroe()
{
$name='宁德时代';
$url = 'https://search.weixin.qq.com/cgi-bin/wxaweb/wxindex';
$data = array(
'openid' => 'ov4ns0FDBHu62yON4EU',
'search_key' => '1698137976699775_3211130377',
'cgi_name' => 'GetDefaultIndex',
'query' => array('宁德时代'),
'start_ymd' => '20211023',
'end_ymd' => '20231024'
);
$headers = array(
'Host: search.weixin.qq.com',
'xweb_xhr: 1',
'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF WindowsWechat(0x63090719)XWEB/8461',
'Content-Type: application/json',
'Accept: */*',
'Sec-Fetch-Site: cross-site',
'Sec-Fetch-Mode: cors',
'Sec-Fetch-Dest: empty',
'Referer: https://servicewechat.com/wxc026e7662ec26a3a/43/page-frame.html',
'Accept-Language: zh-CN,zh;q=0.9'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
$file_path=storage_path() . '/file/'.$name.'微信指数.json';
file_put_contents($file_path,$result);
$data=file_get_contents($file_path);
$data=json_decode($data,true);
$data=$data['content']['resp_list'][0]['indexes'][0]['time_indexes'];
app(\App\Http\Controllers\FileController::class)->export($data,$name);
dd($result);
}
composer require phpoffice/phpspreadsheet
use PhpOffice\PhpSpreadsheet\Cell\DataType; use PhpOffice\PhpSpreadsheet\IOFactory; use PhpOffice\PhpSpreadsheet\Spreadsheet;
public function export($data,$fileName){
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
//设置工作表标题名称
$sheet->setTitle($fileName);
$row=2;
$sheet->setCellValueExplicitByColumnAndRow(1, 1, '时间', DataType::TYPE_STRING);
$sheet->setCellValueExplicitByColumnAndRow(2, 1, '指数', DataType::TYPE_STRING);
foreach ($data as $key => $value) {
// dd($value);
$value['score']=number_format($value['score'],0, '.', ',');
$sheet->setCellValueExplicitByColumnAndRow(1, $row, $value['time'], DataType::TYPE_STRING);
$sheet->setCellValueExplicitByColumnAndRow(2, $row, $value['score'], DataType::TYPE_STRING);
$row++;
}
$file_path = storage_path() . '/file/' . $fileName . ".xlsx";
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
//这里可以写绝对路径,其他框架到这步就结束了
$writer->save($file_path);
//关闭连接,销毁变量
$spreadsheet->disconnectWorksheets();
unset($spreadsheet);
}

浙公网安备 33010602011771号