PHP版访客访问文章自动推送百度资源平台,增加收录

前言

有人要,我就单独从主题提取出来了! 原来有百度自动图推送有js版本,现在好像不能用了。我就随便整了个PHP版本的效果还是一样的!

效果图

请输入图片描述

自动推送代码

这个是判断文章是否已经收录。未收录推送以收录不推送以免造成重复推送!!

        <?php
        
        $cxurl='https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        function okBaidu($url){
         $url='http://www.baidu.com/s?wd='.$url;
         $curl=curl_init();
         curl_setopt($curl,CURLOPT_URL,$url);
         curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
         $rs=curl_exec($curl);
         curl_close($curl);
         if(!strpos($rs,'提交网址')){
            echo "文章状态:已收录~";
         }else{

                $pageURL = (@$_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://';
                $pageURL .= $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];     
                $urls = array(
                    $pageURL
                );
            $api = 'http://data.zz.baidu.com/urls?site=https://jiba.icu&token=OWYiTZcIYZ1dwEcD';  //自行修改 百度 接口调用地址
            $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);
                //第二种 的返bai结果是以json形式。
                $res=json_decode(curl_exec($ch),true);
        
                $ed = ($res['remain']);//起作用
                $cg = ($res['success']);//起作用    
    
                echo "文章状态:未收录,以推送~ 【今日剩余额度:$ed  条】";


         }
        }
        echo okBaidu($cxurl);
                    
        ?>

不判断是否收录

这种是无脑死推版本,管你收录没收录就死推送 哈哈!

                $pageURL = (@$_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://';
                $pageURL .= $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];     
                $urls = array(
                    $pageURL
                );
            $api = 'http://data.zz.baidu.com/urls?site=https://jiba.icu&token=OWYiTZcIYZ1dwEcD';  //自行修改 百度 接口调用地址
            $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);
                //第二种 的返bai结果是以json形式。
                $res=json_decode(curl_exec($ch),true);
        
                $ed = ($res['remain']);//起作用
                $cg = ($res['success']);//起作用    
    
                echo "文章状态:未收录,以推送~ 【今日剩余额度:$ed  条】";

一些参数

状态码为200,可能返回以下字段:

字段是否必选参数类型说明
successint成功推送的url条数
remainint当天剩余的可推送url条数
not_same_sitearray由于不是本站url而未处理的url列表
not_validarray不合法的url列表

调用方法: $ed = ($res['remain']);

更新

  • 2021.2.25

前面的php查询文章百度是否收录,很不稳定,于是改成API接口查询收录!

注意:服务器需要启用 file_get_contents 不懂的请百度不过多介绍

    $cxurl='https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
            $cx=file_get_contents('https://api.btstu.cn/bdsite/api.php?url='.$cxurl);
            $arr = json_decode($cx, true);
            $pd= $arr['msg'];
            if($pd == '该网址未收录') {
                
                $pageURL = (@$_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://';
                $pageURL .= $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];     
                $urls = array(
                    $pageURL
                );
            $api = 'http://data.zz.baidu.com/urls?site=https://jiba.icu&token=OWYiTZcIYZ1dwEcD';
            $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);
                //第二种 的返bai结果是以json形式。
                $res=json_decode(curl_exec($ch),true);
        
                $ed = ($res['remain']);//起作用
                $cg = ($res['success']);//起作用    
    
                echo "百度资源平台:推送成功~ 【今日剩余额度:$ed  条】";
                
            } else{
                
            echo '文章状态:已收录~'; 
            
            }        

添加新评论

已有 11 条评论

  1. 现在收录很慢啊,一个月都不收录

    1. @亮娃子博客

      这段时间我收录快了,很多可能百度更新!

  2. 问一下,这个头像系统是怎么弄的,原生的系统好像是无法使用的

    1. @温酒叙余生

      头像系统还是表情?
      表情用的

      https://github.com/DIYgod/OwO
  3. 突然看到了不讲武德的老同志彩蛋哈哈哈

  4. 这个是加在文章post页面嘛

    1. @Meteor

      都可以 复制代码在想插入的地方插入就可以了

      你也可以参考 `https://github.com/xiamuguizhi/typecho-for-Pure/blob/main/comments.php`

  5. 会不会死推被百度拉入黑名单啊

    1. @行吟游子

      不会,只是每天有限制额度 你看我的 推送成功~ 【今日剩余额度:99733 条】