关于熊掌号资源提交功能API接口解读

百度熊掌号的资源提交功能支持提交两种类型的数据资源:一种是新增内容,一种是历史内容;提交方式也分为两种:一种是API提交,一种是手动提交。下面一起来看看是如何让使用的。

一、新增内容

新增内容提交的配额限度比较大,刚开始的配额是每天10条,后期可以根据上周总体配额的使用情况进行调整。且熊掌号对于新增内容会给予24小时内抓取校验、快速收录的优待。如果网站新增内容比较少,通过手动提交就可以了。

手动提交的方式十分简单,只需将移动站当天新产生的链接复制到提交框内,再点击提交即可。提交完链接后,第二天会收到新增数据提交的反馈结果。

二、历史内容

至于历史内容的提交方式,理论上也是可以手动提交的。只是每天手动提交的配额有限,建议历史内容还是通过API的方式来提交。

1、获取网站的链接

利用sitemap.txt文件获取网站的所有链接(sitemap.xml也可以,不过处理起来会复杂一点点),然后对链接进行处理,比如重复链接、死链、无意义的链接都可以删除,最后记得将链接转换成移动站的链接。

2、API推送

熊掌号→我的功能→资源提交→API提交→历史内容接口→推送示例→php推送,就可以获取官方提供的推送代码。

如果网站的链接不是特别多,可以直接将第一步中筛选过后的链接直接复制进去,按照格式编辑好(每条链接用英文格式的单引号’’包起来,且链接后以英文格式的逗号,隔开)。

如果网站上的链接过多,可以利用循环来构建网站链接数组。因为网站的url一般都是有规律的,我们可以利用这一点,构造一个for循环批量将url写入array,再向接口提交。

3、建立urls.php文件

新建一个php文件,命名随意。将代码粘贴进去,然后再将文件丢入根目录下,最后再执行就可以了(执行方式即在域名后加/urls.txt,回车)。如果返回{“success_batch”:41,”remain_batch”:4999877}即代表提交成功,其中success_batch表示此次成功提交的数据条数,remain_batch表示还剩多少条可以提交。

最后,大家需要注意在提交链接时,一定不能含有死链,因为提交死链过多是会影响熊掌号指数的。

以下是织梦程序熊掌号推送代码:

".$dayBegin."";
//echo $query;

$urls="";

$dsql->Execute('arch.id,types.typedir',$query);
while($row = $dsql->GetArray('arch.id,types.typedir'))
{
$urls.="https://m.xiuzhanwang.com".str_replace("{cmspath}","",$row['typedir'])."/".$row[id].".html".",";
//将上边m.xiuzhanwang.com换成你的网址
}
$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、$query中“dede_archives”为自己数据库中存放文章的表,如果你的数据库表头做了修改,这里也要做相应修改。

2、本代码自动获取当天发布的所有文章链接,设置两个时间戳,0:0:0和23:59:59,也就是把当天这两个时间内的文章都自动提取出来,即是当天新增内容内容。

3、$api=http://data.zz.baidu.com/urls?appid=熊掌号ID&token=密钥&type=realtime,请登录您的账号查看接口调用地址。

以下是PHPCMS程序的熊掌号推送代码:

set_model($moduleId);
$contentDatas = $contentModel->select("status=99 AND inputtime BETWEEN $dayBegin AND $dayEnd",'id,url,catid,title,keywords,description,thumb,inputtime','','inputtime DESC,id DESC');
$urls=array();
foreach ($contentDatas as $r) {
array_push($urls,$r['url']);
}
if(count($urls)==0){
echo '时间范围内没有可推送的数据';
exit();
}
$api = 'http://data.zz.baidu.com/urls?appid=1602339615328938&token=ifrkVxbSFbPAlCnk&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;
?>

历史内容推送接口代码只需把上面红色标记的地方改为:

$dayBegin = mktime(0,0,0,7,1,2015);//当天开始时间戳

http://data.zz.baidu.com/urls?appid=1602339615328938&token=ifrkVxbSFbPAlCnk&type=batch

最后保存成2个.php文件放到网站根目录的api目录里,使用方法:www.你的域名.com/api.php?op=new(new改成你放在api目录里的文件名,不带php),新增内容和历史内容推送各运行一次即可。显示如下,即推送成功。

业界动态

百度视频营销标准化广告和非标产品介绍

2018-11-23 14:25:16

业界动态

SEO案例分析网站流量突然下降原因

2018-11-23 16:19:45

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索