PHP向熊掌号批量提交网站url PHP利用熊掌号提交api向熊掌号批量提交网站url

网友投稿 286 2022-06-06


首先,什么是熊掌号?

百度官方对熊掌号的解释是:

“服务于百度移动搜索,是百度连接内容和服务的官方帐号。熊掌号基于开放的理念,连接站长、自媒体、应用开发者、商家等多元化的内容提供者;同时也连接文章、视频、问答、商家服务等多元化的内容形态,实现“海纳百川,汇聚万物”。同时,熊掌号在用户与内容服务提供者之间建立双向互动能力,让用户能够关注喜爱的内容,获得更新动态,与内容服务提供者进行有效的交流;而我们也为内容服务提供者赋能更多工具支持,让他们能够触达和跟进自己的用户,更好的开展运营活动,收获更多粉丝用户,并提升品牌形象。“

其实,我认为熊掌号就是百度对标微信公众号的产品,是一个以内容为核心的平台,代表百度从搜索向内容分发的转变。而对于网站来说,将网站和熊掌号捆绑在一起,就能获得更大的搜索展现机会(据说2018年开始百度的流量将全面向熊掌号倾斜)。所以对于想从百度获得流量的站长,熊掌号是绝对不可忽视的一环。

废话少说,进入正题。首先到https://ziyuan.baidu.com/xzh/home/index,用百度账号登录,然后进行申请,通过审核就可以将你的网站内容提交到熊掌号了。

提交数据分为两种:api提交和手动提交。手动提交就不用说了,将url复制到输入框就可以提交了,每日最多500条。

这种方式对于页面少的网站可行,对于页面几千几万的网站,可就是噩梦了。对于大量的页面提交,可以采用api来批量提交。

熊掌号提供了几种api提交方式:

我们就采用php来提交,这样可以批量提交url。先切换到历史内容接口。

看看官方给出的示例代码:

$urls = array( 'http://example.com/1.html', 'http://example.com/2.html',);
 
$api = 'http://data.zz.baidu.com/urls?appid=xxxxxx&token=xxxxxx&type=batch';
 
$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;

代码构建了一个url的array,然后通过curl方法post请求熊掌号的接口,请求url参数中带上你的熊掌号appid和token(请求url直接到示例里复制就行了,不用费心自己去找appid和token了)。

主要是构建url的array,如果手动填入网站所有的url,那和手动提交url没有区别,几乎非人力所能完成。好在网站的url都是有一定规律的,我们可以构造一个for循环来批量将url加入array。假如你的某一内容页url是这样的:http://yourdomain.com/cotent/id/15535,那么除最后的数字外,前面的url都是固定的,只有最后的数字是变化的。我们可以利用这一点,构造一个for循环批量将url写入array,再向接口提交。如下代码:

$i=1;
 
$urls = array();
 
for ($i=1; $i<=2000; $i++)
 
{
 
  $urls[$i] = "http://yourdomain.com/cotent/id/" .$i;
 
}

这样就批量将url写入数组了,注意,接口有限制,一次最多提交2000条url。

完整代码如下:

$i=1;
 
$urls = array();
 
for ($i=1; $i<=2000; $i++)
 
{
 
  
$urls[$i] = "http://yourdomain.com/cotent/id/" .$i;
}
 
$api = 'http://data.zz.baidu.com/urls?appid=1584467550610009&token=BUNenc44VWLOYva5&type=batch';
 
$ch = curl_init();
 
//curl_setopt($ch,CURLOPT_PROXY,'127.0.0.1:8888');//设置代理服务器
 
$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;

保存php文件再运行这个文件,会在浏览器得到一个返回页面,如果得到以下返回Json:{"success_batch":2000,"remain_batch":4930000},就说明代码提交成功了。

这里,success_batch表示此次成功提交的数据条数,remain_batch表示还剩多少条可以提交。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:android指纹识别api讲解 Android指纹识别API讲解,一种更快更好的用户体验(Android 指纹识别)
下一篇:php 返回自定义错误 PHP使Laravel为JSON REST API返回自定义错误的问题(php是什么意思)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~