熊掌号历史php推送示例,如何制作熊掌号API主动推送文件

熊掌开通后,提供了两种数据推送方式,分别是API提交和手动提交,其中API提交还提供了新增内容接口和历史内容接口。就是把新数据和旧数据分别开来,方便搜索引擎抓取收录。

3643a739b4cbb8655c85ea82c6caaede.png熊掌号API主动推送

手动提交

手动提交比较简单,只要把每天产生的链接复制下来,然后粘贴到提交表单内,点击提交就可以了,新注册的熊掌号每天只能提交10条,试了下,效果不错,一般提交的数据一两天就会处理,有些还会秒收。缺点是每天要提取网站的链接,还要复制过去填写,比较麻烦。

API提交

API提交是我们今天要说的重点了,API提交比手动提交就简单多了,只要文件写好,每天发了文章后,执行一下文件就可以了,API提交的新增内容接口和历史内容接口,除了接口调用地址不一样,其他地方都是一样的,如下:

新增内容接口调用地址

http://data.zz.baidu.com/urls?appid=1602764643500857&token=XYV3Ewi6kgS6dlYb&type=realtime

历史内容接口调用地址:

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

对比发现,只有链接后面的type的赋值不一样,其他地方都是一样的,因此我们只说一种API新增内容接口调用方法就可以了。

API提交提供了四种推送示例:curl推送、post推送、php推送、ruby推送。

四种推送方式的原理都是一样的

第一步:获取到网站链接(最好是当天的链接)

第二步:调用API接口

第三步:数据推送给百度

其中的第二步调用API接口和第三部数据推送给百度,这四种推送方式百度都提供了代码,复制就可以使用,主要是获取文章链接,每个网站的文章链接是不一样的,而且是当天的链接,因此,我们需要对推送代码进行改造,因为我的网站是用php做的 ,所以就用php推送来举例说明。

1、先复制百度提供的php推送示例代码;

2、创建一个xz.php文件,并把代码复制进去,代码如下:

$urls = array(

'http://www.example.com/1.html',

'http://www.example.com/2.html',

);

$api = 'http://data.zz.baidu.com/urls?appid=1602764643500857&token=XYV3Ewi6kgS6dlYb&type=realtime';

$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;

?>

3、在代码中添加数据库连接

$con=mysql_connect('localhost','root','root') or die('失败'.mysql_error());

mysql_select_db(DB_NAME,$con) or die('选择数据库失败'.mysql_error());

4、获取当天的时间戳

$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);

5、根据当天时间执行sql查询

$query = "SELECT arch.id,types.typedir FROM DB_NAME as types inner join DB_NAME as arch on types.id=arch.typeid where pubdate".$dayBegin."";

6、获取url链接并放入数据

$urls="";

$dsql->Execute('arch.id,types.typedir',$query);

while($row = $dsql->GetArray('arch.id,types.typedir'))

{

$urls.="http://".$_SERVER['SERVER_NAME'].str_replace("{cmspath}","",$row['typedir'])."/".$row[id].".html".",";

}

$urls=substr($urls,0,-1);

$urls = explode(",",$urls);

到这里php文件基本就做好了,然后把做好的php文件放入网站根目录中,每天更新文章后,执行该php文件,就会返回推送结果

{

"remain_realtime": 9,

"success_realtime": 1

}

这里需要注意一下,手动提交和API提交的数据只能选择一种,如果手动提交完毕,再执行推送文件,返回结果将都是0。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值