<?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

待编辑...

市面上一直在搞一些点击快排,也不排除有一些人想研究刷参。放一些解密字段,提供研究和学习这个大玩具
代码仅供学习和研究,请勿用于非法用途 ,好好做站比什么都强

首页字段
rsv_pq:
rsv_t:
fenlei

(请求首页后返回字段,见文章末尾Cookies两个附加字段)
fenlei= re.findall(r'<input type="hidden" name="fenlei" value="(\d+)">',res)[0]
rsv_pq=re.findall(r'<input type="hidden" name="rsv_pq" value="(.*?)">',res)[0]
rsv_t = re.findall(r'<input type="hidden" name="rsv_t" value="(.*?)">',res)[0]

核心参数
(以下两个带参可以直接直接刷无排名)
si: ‘www.xxxxx.com’ 网站地址
ct: 2097152 一般是这个,也有其他的

需解密参数字段
isid:

def isid(self,BAIDUID):
      # BAIDUID 在Cookies中可以根据res.cookies 进行返回
      Ct = BAIDUID[0:6]+BAIDUID[len(BAIDUID)-5:5]+str(int(99999*random.random()))
      while len(Ct)<16:
        Ct+=str(0)
      return parse.quote(Ct)

_cr1:

#这里是Param
# item = f'/s?ie=utf-8&mod=1&isbd=1&isid={self.isid(BAIDUID)}&ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd={wd}&fenlei={fenlei}&oq={wd}&rsv_pq={rsv_pq}&rsv_t={rsv_t}&rqlang=cn&rsv_enter=1&rsv_dl=tb&si={si}&ct={ct}&bs={wd}&rsv_sid=undefined&_ss=1&clist=&hsug=&f4s=1&csor=0&'
最终url = "https://www.baidu.com"+item +str(_cr1(item))
def _cr1(self,item):
      if isinstance(item,str):
        n=0
        for t in range(len(item)):
          n+=ord(item[t])
        return n
      return 0

补充字段
BAIDUID:Cookie返回字段
sid:Cookies返回字段

以下两个字段,从res.cookies中获取,可以请求用与下拉刷参
BAIDUID=E8145961D5D1FFC0E68C123******1F030
sid=35839_31253_35979_35912_36166_34584_36141_36120_36192_36074_35993_35325_26350_36046_36093_36061

本文转载自CSDN https://blog.csdn.net/SquirrelPineal/article/details/123828195

每次修改pageNo=0进行翻页抓取,Uid值可随机生成。官方API,免费无限调用。

https://opendata.baidu.com/api.php?resource_id=5715&encoding=utf8&tn=wisexmlnew&baiduid=9E4B8372D6FEE32DA19530B6636A1806:FG=1&city=&pageNo=0&pageSize=20&query=下颌角手术&format=jsonp&cb=cb&callback=cb&_=1658902837090

从2022年3月底,百度排名针对站内搜索点击方式效果急剧下降,很多同行(7天)首页长词率都最多保持在15-30%左右。无论是通过si 或者 et 或者其他方式筛选是搜索点击,排名都将会进入一个新的审核阶段,这个时间段内,排名只有浏览器首次百度搜索才会给予展现。

百度快排上词将不再是单纯的站内点击,单纯点击如果网站基础不好,正常搜索展现的机会大大降低。

内容为王这个词再一次上了seo热搜,那些ai文章厂商推广力度也是相当之大,如果是做一些非正规企业的,用ai文章可以短期收益,确实是上上之选。

百家号排名全行业霸屏也是今年的异常现象,百家号内容上也是被行业大佬玩出了各种花样,当然在认证蓝V的情况下,搞一下首页排名还是很容易的,个人百家号只能过传统方式刷点击来操作排名,效果也还不错。

本文关键词:快排点击展现被限制 AI内容为王 百家号全行业霸屏

推广一下橘子SEO系统,目前百度PC上词率50%左右,展现也会被限制。

准备工具:
`fiddler
逍遥模拟器8.0
Xposed Installer.exe
JustTrustMe++.apk`

逍遥模拟器吾爱破解下载的绿色版,自行查找,xposed也是吾爱破解的一件安装包,JustTrustMe++是看雪学院下载,在JustTrustMe上添加了反okhttp混淆,用于解密加密参数。