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

首先,什么是熊掌号?

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

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

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

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

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

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

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

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

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

$urls = array( 'http://www.example.com/1.html', 'http://www.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表示还剩多少条可以提交。

以上既是PHP利用熊掌号提交api向熊掌号批量提交网站url的详细内容,更多相关内容请查看下面的相关文章

(0)

相关推荐

  • 让input框实现类似百度的搜索提示(基于jquery事件监听)

    挺炫的一个效果,百度和谷歌好像已实现好多年了,我以为在网上能轻易找到代码来实现这个效果.真正遇到这个需求,发现还真找不到.于是自己动手写这个效果,由于我是把效果整合到我的整套框架里,所以没有进行单独的封装. 需求:实现带提示的input框,类似百度搜索,有改动的时候去获取常用关键词,数据来源于系统数据库,支持鼠标选择或键盘选择 思路:框架一贯思路,通过class作为监听入口,通过data作为数据传递:通过监听input和propertychange事件实现实时的改动监听,input是主流,pro

  • JS仿百度搜索自动提示框匹配查询功能

    1. 添加动态加载css文件 不需要引入css css全部在JS动态生成.2. 不需要额外的标签 只需要一个input输入框 并且默认指定一个class类名为 "inputElem" 当然也可以自己配置参数 还需要一个当前父级容器增加一个默认类名 parentCls(也可以自己配置),因为输入框匹配值后需要一个隐藏域 所以需要隐藏域增加一个class "hiddenCls" 当然也支持自己配置参数. 如下代码: 复制代码 代码如下: <div class=&q

  • 零基础写Java知乎爬虫之先拿百度首页练练手

    上一集中我们说到需要用Java来制作一个知乎爬虫,那么这一次,我们就来研究一下如何使用代码获取到网页的内容. 首先,没有HTML和CSS和JS和AJAX经验的建议先去W3C(点我点我)小小的了解一下. 说到HTML,这里就涉及到一个GET访问和POST访问的问题. 如果对这个方面缺乏了解可以阅读W3C的这篇:<GET对比POST>. 啊哈,在此不再赘述. 然后咧,接下来我们需要用Java来爬取一个网页的内容. 这时候,我们的百度就要派上用场了. 没错,他不再是那个默默无闻的网速测试器了,他即将

  • 百度地图API之本地搜索与范围搜索

    地图服务是指可以提供数据信息的接口,比如说本地搜索/路线规划等,下面小编给大家整理下百度地图API之本地搜索和范围搜索,具体请看下文. 地图服务概述 地图服务是指那些提供数据信息的接口,比如本地搜索.路线规划等等.百度地图API提供的服务有: LocalSearch:本地搜索,提供某一特定地区的位置搜索服务,比如在北京市搜索"公园". TransitRoute:公交导航,提供某一特定地区的公交出行方案的搜索服务. DrivingRoute:驾车导航,提供驾车出行方案的搜索服务. Wal

  • 基于jquery的仿百度搜索框效果代码

    先看看整个的效果图:图一: 图二: 图三: 图四: 大概的效果图就这样,接下来直接看源码页面: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="autoSearch._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DT

  • 百度地图API使用方法详解

    最近做了个项目,其中项目中有个需求需要用到百度地图进行导航,通过查阅相关资料参考百度地图api完成了一个例子. 示例一: API地址:http://developer.baidu.com/map/jsdemo.htm#a1_2 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&g

  • Android百度地图定位后获取周边位置的实现代码

    本文实例讲解Android百度地图定位后获取周边位置的实现代码,分享给大家供大家参考,具体内容如下 效果图: 具体代码: 1.布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical&q

  • Python使用Socket(Https)Post登录百度的实现代码

    登录百度,首先当然是先抓百度的登录包 ,由于是网页登录,最方便的自然是httpwatch了,我使用的测试账号是itiandatest1,密码是itianda,抓包结果: 复制代码 代码如下: POST /?login HTTP/1.1 Accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/v

  • 百度地图api应用标注地理位置信息(js版)

    有时做了一些东西没有记录,而过一段时间再看的时候,有会忘记了.需要在重新在看一遍. 百度地图javascript api可以参考 http://developer.baidu.com/map/reference/  示例:http://developer.baidu.com/map/jsdemo.htm 更多百度地图的介绍http://www.cnblogs.com/milkmap/tag/%E5%9C%B0%E5%9B%BEAPI/   里面介绍的非常详细. 弄了一个百度地图来标注地理位置信息

  • 免费开源百度编辑器(UEditor)使用方法

    UEditor效果图 一.简介 UEditor是一个开源免费的编辑器,由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于BSD协议,允许自由使用和修改代码. 官方网站:http://ueditor.baidu.com/ 二.下载地址 官方下载:http://ueditor.baidu.com/website/download.html 官网上下载完整源码包,解压到任意目录,解压后的源码目录结构如下所示:    _examples:编辑器完整版的

  • 百度前台js笔试题与答案

    第一题 编写一个方法 求一个字符串的字节长度 第二题 如何控制alert中的换行 第三题 解释document.getElementById("ElementID").style.fontSize="1.5em" 第四题 将一个类似图中的效果分离成css和html 第五题 按照格式 xxxx年xx月xx日xx时xx分xx秒动态显示时间 要求不足10的补0 第六题 编写一个方法 去掉一个数组的重复元素 第七题 说出3条以上ff和ie的脚本兼容问题 第八题 按要求写一个

  • android实现百度地图自定义弹出窗口功能

    我们使用百度地图的时候,点击地图上的Marker,会弹出一个该地点详细信息的窗口,如下左图所示,有时候,我们希望自己定义这个弹出窗口的内容,或者,干脆用自己的数据来构造这样的弹出窗口,但是,在百度地图最新的Android SDK中,没有方便操作这种弹出窗口的类,虽然有一个PopupOverlay,但是它只支持将弹出内容转化为不多于三个Bitmap,如果这个弹出窗口里想有按钮来响应点击事件,用这个就不能满足要求了,于是,看了一遍百度地图覆盖物的API,我决定用自定义View的方法来实现类似的效果,

  • 基于jquery实现的类似百度搜索的输入框自动完成功能

    废话不多说,直观的看一下: 实现这个功能需要服务端配合.客户端通过脚本来展示从服务端取得的数据. 先看客户端的HTML: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  <html xmlns="http://www.w3.org/1999/x

  • 百度判断手机终端并自动跳转js代码及使用实例

    百度目前为站长提供了判断手机终端类型并自动实现跳转的js脚本,极大的方便了广大站长及web开发人员.其js脚本的使用方法极其简单. 复制代码 代码如下: <script src="http://siteapp.baidu.com/static/webappservice/uaredirect.js" type="text/javascript"></script> <SCRIPT type=text/javascript>uare

  • java调用百度定位api服务获取地理位置示例

    复制代码 代码如下: package test; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.Reader;import java.net.URL;import java.nio.charset.Charset; import org.json.JSONException;imp

  • 百度地图API应用之获取用户的具体位置

    功能的大概:用户通过点击地图上面的位置,在地图上面进行描点,然后再把获取的到的地理位置保存到地图上面的地址栏目中. 主要是百度地图API的使用 复制代码 代码如下: var map = new BMap.Map("allmap"); //实例化一个地图对象var point = new BMap.Point(116.331398,39.897445); //设置地图中心的位置map.centerAndZoom(point,12); //设置地图元素的可视层 map.enableScro

  • js 调用百度地图api并在地图上进行打点添加标注

    最近要做一个网页,具体内容是:上边有一个标题,下边分成两块,左边是地图.并且地图上有两个点,点击两个点有相应的提示信息,显示数据库里最新的两条数据信息.右边是一些文字说明.本人刚开始学习,做的也不是很好 总体效果如下所示: 首先新建map.php文件,代码如下 复制代码 代码如下: <!DOCTYPE html> <?php /* 创建与数据库的连接 */ $conn=mysql_connect("","","") or die

  • 百度实时推送api接口应用示例

    网站质量不错的网站可以在百度站长平台/数据提交/sitemap栏目下看到实时推送的功能, 目前这个工具是邀请开放, 百度的实时推送的api接口可以实时推送我们新发布的文章, 保证百度在第一时间收录.   百度站长平台 http://zhanzhang.baidu.com/ 打开百度站长平台, 点开实时推送的添加新数据接口获得带token的api推送地址:     http://ping.baidu.com/sitemap?site=www.yourdomain.com&resource_name

随机推荐