作者:狐灵科技 | 2020-02-25 11:16 |点击:
最近很多站长朋友来咨询狐灵小编,织梦有没有插件或者代码能自动提交熊掌号数据的,期间我也帮助了不少站长,发现还是直接发一个教程,以后大家直接看教程操作。
今天教大家学会DedeCMS实现百度熊掌号API提交接口推送(PHP推送)。
本教程教大家通过新增内容接口,提交站内 当天新产生 内容的链接。新增内容享受24小时内抓取校验、快速展现优待。
API数据提交代码如下(PHP代码)
<?php require_once ("include/common.inc.php"); require_once "include/arc.partview.class.php"; require_once('include/charset.func.php'); $year = date("Y"); $month = date("m"); $day = date("d"); $dayBegin = mktime(0,0,0,$month,$day,$year); $dayEnd = mktime(23,59,59,$month,$day,$year); $query = "SELECT arch.id,types.typedir FROM dede_arctype as types inner join dede_archives as arch on types.id=arch.typeid where pubdate<".$dayEnd." AND pubdate>".$dayBegin.""; //echo $query; $urls=""; $dsql->Execute('arch.id,types.typedir',$query); while($row = $dsql->GetArray('arch.id,types.typedir')) { $urls.="http://www.hulingweb.cn".str_replace("{cmspath}","",$row['typedir'])."/".$row[id].".html".","; } $urls=substr($urls,0,-1); $urls = explode(",",$urls); $api = 'http://data.zz.baidu.com/urls?appid=熊掌号ID&token=密钥&type=realtime'; // 前边的熊掌号ID和密钥换成自己的 $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; ?>
以上的代码只需要改两个地方,上方橙色的地方
1、把下方的http://hulingweb.cn 改成你自己绑定熊掌号的网址
$urls.="http://hulingweb.cn"
2、把API接口改成你自己熊掌号新增内容接口
$api = 'http://data.zz.baidu.com/urls?appid=熊掌号ID&token=密钥&type=realtime';
好了今天的教程就到这里结束。(懒人直接下载源码)
下载地址:https://pan.baidu.com/s/1ye5fEQ4XIN1hFljiwH9Q8A
第一步:在\plus\task目录下新建一个php文件,命名为xzh.php代码如下:
require_once(dirname(__FILE__).'/../../include/common.inc.php'); require_once(DEDEINC."/arc.partview.class.php"); require_once(dirname(__FILE__).'/../../include/charset.func.php'); $year = date("Y"); $month = date("m"); $day = date("d"); $dayBegin = mktime(0,0,0,$month,$day,$year); $dayEnd = mktime(23,59,59,$month,$day,$year); $query = "SELECT arch.id,types.typedir FROM dede_arctype as types inner join dede_archives as arch on types.id=arch.typeid where pubdate<".$dayEnd." AND pubdate>".$dayBegin.""; //echo $query; $urls=""; $dsql->Execute('arch.id,types.typedir',$query); while($row = $dsql->GetArray('arch.id,types.typedir')) { $urls.="$urls.="https://www.xiuzhanwang.com".str_replace("{cmspath}","",$row['typedir'])."/".$row[id].".html".",";".","; } $urls=substr($urls,0,-1); $tjurl = $urls; $urls = explode(",",$urls); $api = 'http://data.zz.baidu.com/urls?appid=1567968668883362&token=TqR2soisGxVnnKiN&type=realtime'; // 熊掌号api接口调用地址 $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; $dsql->ExecuteNoneQuery("Update `xiuzhanwang_sys_task` set sta='成功' where dourl='xzh.php' "); $jieguo = date('Y-m-d H:i:s',time())."返回结果:".$result."\r\n".$tjurl; $numbytes = file_put_contents('xzh.txt', $jieguo); //返回结果 exit(); |
第二步:在网站后台系统-计划任务管理里面新增一个任务,运行程序填xzh.php,设定好执行规则。
第三步:在模板中用JS调用/plus/task.php?client=js任务执行成功之后会在\plus\task目录下生成一个xzh.txt文件,返回提交结果、任务执行时间、提交的url,