分类 网站建设 下的文章

<?php
    //post请求
    function posturl($url,$data,$token){
        // $data  = json_encode($data);    
        $headerArray =array("Content-Type: application/x-www-form-urlencoded","Accept: application/json, text/plain, */*","User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0","Referer: https://baijiahao.baidu.com/builder/rc/fans?app_id=修改","Cookie: BDUSS=修改; bjhStoken=修改","Token: $token");
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArray);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        
        curl_setopt($curl, CURLOPT_HEADER, TRUE);
        curl_setopt($curl, CURLOPT_NOBODY, FALSE);
        
        $output = curl_exec($curl);//curl
        
        //响应头内容返回
        if (curl_getinfo($curl, CURLINFO_HTTP_CODE) == '200') {
            $headerSize = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
            $header = substr($output, 0, $headerSize);
            // $body = substr($output, $headerSize);
            return $header;
            }
        curl_close($curl);
        }

    //get请求
    function geturl($url) {
        $curl = curl_init();
        $header = array();
        array_push($header, 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0');
        array_push($header, 'Referer: https://baijiahao.baidu.com/builder/rc/fans?app_id=修改');
        array_push($header, 'Accept:  text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8');
        array_push($header, 'Upgrade-insecure-requests:1');
        array_push($header, 'Cookie: 修改; bjhStoken=修改;');
        array_push($header, 'Token: 修改');
        curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_HEADER, TRUE);
        curl_setopt($curl, CURLOPT_NOBODY, FALSE);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($curl);
        curl_close($curl);
        $output = mb_convert_encoding($output, "utf-8", "gbk");
        return $output;
        }

    // 提取未读私信条数
    $im_api = geturl('https://baijiahao.baidu.com/pcui/message/getUnreadNum');
    $pattern = '/"im":(\d),/is';
    preg_match($pattern, $im_api, $match);
    $im = $match[1];
    echo "您有 $im 条未读私信!";
    
    // 私信
    if ($im > 0)
        {
            $ms_api = geturl('https://baijiahao.baidu.com/pcui/im/getRecentMsgList');
            $pattern = '/"unread_num":"[1-9]\d?".*?"uk":"(.*?)"/is';
            preg_match_all($pattern, $ms_api, $matchs);
            $user = $matchs[1];
            $msg = ("当前医生不在线,请留下您的联系方式!医生微信:18819937086");
            $token = "修改";
            // print_r ($user);
            
                
                foreach ($user as $key => $value)
                    {
                        $data = "send_type=2&content_type=0&content=$msg&uk=$value&user_type=3&article_type=&is_black=0";
                        //POST发送私信
                        $send_api = posturl('https://baijiahao.baidu.com/pcui/im/sendMessage',$data,$token);
                            $pattern = '/Token:(.*?)\s+Tracecode:/is';
                            preg_match($pattern, $send_api, $match);
                            $token = $match[1];
                        //消息标记为已读
                        $read_ms = geturl("https://baijiahao.baidu.com/pcui/im/fansDetail?uk=$value&attr=1&start_time=");
                            

                    }
            
        }
        else
        {
            echo "等待15秒后继续检测私信情况。";
        }
    
 
?>
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
step=15
for (( i = 0; i < 60; i=(i+step) )); do
curl -sS --connect-timeout 10 -m 60 'http://修改/bjh/get.php'
echo "-------------------监控成功----------------------"
endDate=`date +"%Y-%m-%d %H:%M:%S"`
echo "★[$endDate] Successful"
echo "-------------------监控成功----------------------"
sleep $step
done
exit 0

代码中修改部分都是需要自行准备的参数,登陆后抓包就可以获取,token需要发送消息才能抓到初始参数。

网页捕获_15-12-2022_14615_101.42.159.117.jpeg

脚本后续还会继续完善。。。

https://baijiahao.baidu.com/pcui/im/sendMessage

接口相关介绍:
请求方式:post
cookie:BDUSS+bjhStoken
请求头带:Token

Token使用jwt sh256方式验证,网上查了密钥破解没什么可能性,所以直接抓包搞一个,每次发送消息后响应头提取Token参数值做下一次消息发送使用。

目前测试Token一周内仍然有效,打算用这个接口写个自动回复机器人。

有在开发百家号程序的大佬可以带带小弟,目前百家号关闭了开发者接口,想要自动化要抓接口。

最近消息列表(未读和已读都有,通过参数区分)
https://baijiahao.baidu.com/pcui/im/getRecentMsgList
text:消息内容
该用户几条未读:n
name:用户名
to_uk:用户uk(后期做自动回复用的到)

总共未读消息条数:
https://baijiahao.baidu.com/pcui/message/getUnreadNum
im:私信未读条数

百度私信协议地址:
wss://commonws-lcs.baidu.com/ws

百家号所有私信详细读取:
https://baijiahao.baidu.com/pcui/im/fansChatList?pn=页码&rn=10&need_top=0&end_time=结束时间(updated_at最后一个值减1得出下一页结束时间)

百家号验证两个参数:
bduss:xxxxxxxxx
bjhStoken:xxxxxxxxx

私信接口:
https://baijiahao.baidu.com/pcui/im/sendMessage
私信接口需要三个参数:
bduss:xxxxxxxxx
bjhStoken:xxxxxxxxx
token:xxxxxx

待编辑...

抖音短视频询盘获客系统/监控营销采集/抖音询盘/短视频询盘/软件系统源码定制开发
一共分为:商家移动端 pc端 代理端 总后台
php+nodejs+python 三种语言开发
M音询盘系统,是一款用大数据巡盘抖音视频,筛选出评论区中有意向客户的M音号,达到截流获取同行意向客户

此系统包含:询盘系统 + 抖音采集脚本(python + nodejs)
源码目录:
目录.png

查毒报告:
查询报告.png

xxxxxapplicationadmincontrollerIndex.php
打开上面这个文件,修改授权域名即可!

下载地址(回复可见)

{hide}
链接: https://pan.baidu.com/s/1aLSr6AznbZWe1V4R3_12Xg?pwd=vq4e 提取码: vq4e 复制这段内容后打开百度网盘手机App,操作更方便哦
{/hide}

http://data.zz.baidu.com/urls?site=https://blog.yigeseo.net&token=ryH6CJcAk&type=officialaccounts  官方号推送地址
http://data.zz.baidu.com/urls?site=https://blog.yigeseo.net&token=ryH6CJcA&type=daily  快速收录推送地址
http://data.zz.baidu.com/urls?site=https://blog.yigeseo.net&token=ryH6CJcA&type=original  原创收录推送地址
http://data.zz.baidu.com/urls?site=https://blog.yigeseo.net&token=ryH6CJcA&type=  普通收录推送地址

如果返回401,代表类型不存在。
返回400代表没权限
返回 200 且 remain=0 代表没条数。

如果大家不怕封号的可以去尝试遍历!

百度官方给了提交核心代码,这里我们自己加一下遍历目录多文件提交,每个文件限制2000行URL.
将文件保存成baidu.php,然后宝塔每天定时运行一次就行了。

需要用户提前把txt文件切割放到网站指定目录。
以后有空在完善,把自动切割和只提交未收录url也写了。

<?php
/*
1 先设置url的所在文件夹名称
2 修改提交api为自己的
3 ...
*/

//遍历文件名函数
function get_dirs($dir_path)
{
    $res = array();
    $res_lists = array();
    foreach (glob("{$dir_path}/*.txt") as $item) {
        if (is_dir($item)) {
            $folder = end(explode('/', $item));
            $res[$folder] = get_dirs($item);
            continue;
        }
        $res[] = basename($item);
    }
    return $res;
}
//设置文件夹名称
$url_dir = "urldir";
$arr = get_dirs($url_dir);

//遍历提交
foreach ($arr as $value) {
    echo "正在提交{$value}...";
    //打开TXT
    $file = fopen("$url_dir/$value", "r");
    $urls = array();
    $i = 0;
    while (!feof($file)) {
        $urls[$i] = fgets($file);
        $i++;
    }
    fclose($file);
    $api = 'http://data.zz.baidu.com/urls?site=https://blog.yigeseo.net&token=ryH6CJcAkOHZv7XZ';
    $ch = curl_init();
    $options = array(CURLOPT_URL => $api, CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => implode("\n", $urls), CURLOPT_HTTPHEADER => array('Content-Type: text/plain'));
    curl_setopt_array($ch, $options);
    $result = curl_exec($ch);
    echo "$result<br>";
}