API提交

什么是API推送

最为疾速的提交形式,建议您将站点当天新产出链接立刻通过此形式推送给百度,以保障新链接能够及时被百度收录。

API推送的长处

  • 及时发现: 能够缩短百度爬虫发现您站点新链接的工夫,使新公布的页面能够在第一工夫被百度收录
  • 爱护原创: 对于网站的最新原创内容,应用API推送性能能够疾速告诉到百度,使内容能够在转发之前被百度发现

如何应用API推送

推送接口及参数阐明:

接口调用地址:http://data.zz.baidu.com/urls...://dorm.cyouagain.cn&token=YYYYYYYYY

参数名称是否必选参数类型阐明
sitestring在搜寻资源平台验证的站点,比方www.example.com
tokenstring在搜寻资源平台申请的推送用的准入密钥

百度给出API推送的几种示例,别离为:curl推送、post推送、php推送、ruby推送。具体推送示例请看百度搜寻资源平台。

接下来次要说下POST推送和具体实例。

post推送示例:

POST /urls?site=https://dorm.cyouagain.cn&token=TnYdbTSKloOytG2sHTTP/1.1User-Agent: curl/7.12.1Host: data.zz.baidu.comContent-Type: text/plainContent-Length: 83http://www.example.com/1.htmlhttp://www.example.com/2.html

推送反馈:

推送胜利状态码为200,可能返回以下字段:

参数名称是否必选参数类型阐明
sitestring在搜寻资源平台验证的站点,比方www.example.com
successint胜利推送的url条数
remainint当天残余的可推送url条数
not_same_sitearray因为不是本站url而未解决的url列表
not_validarray不非法的url列表

胜利返回示例:

{    "remain":99998,    "success":2,    "not_same_site":[],    "not_valid":[]}

推送失败状态码为4xx,返回字段有:

参数名称是否必选参数类型阐明
errorint错误码,与状态码雷同
messagestring谬误形容

失败返回示例:

{    "error":401,    "message":"token is not valid"}

注:以上均来自于百度搜寻资源平台


Java实现API提交

依据下面的阐明,咱们应用Java语言实现网站链接资源被动提交,推送形式选用POST。次要分为以下几个步骤:

  1. 获取推送接口的site和token信息
  2. 整顿须要提交的资源链接
  3. 编写代码,提交链接
  4. 查看后果

获取site和token信息: 获取信息请看另一看文章《百度网页收录API提交助手应用阐明》,这里就不再反复了。注:具体获取教程在文章第二局部

整顿须要提交的资源链接: 将你要提交的链接整顿在一起,不便批量提交。

编写代码: 这部分就是本教程的外围了。具体代码如下:

package baiduUrlSubmit;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.URL;import java.net.URLConnection;public class Test {        private static final String URL="http://data.zz.baidu.com/urls";        public static void main(String []args) {        String url="http://data.zz.baidu.com/urls?site=https://cyouagain.cn&token=TnYdbTSKloOytG2s";        String site="https://cyouagain.cn";  //改为本人站点的site值        String token="";   //改为本人站点的token        //须要提交的资源链接        String []urlsArr= {                    "https://cyouagain.cn/posts/3700.html",                    "https://cyouagain.cn/posts/17293.html",                    "https://cyouagain.cn/posts/31763.html",                    "https://cyouagain.cn/posts/51772.html",                    "https://cyouagain.cn/posts/23110.html",                    "https://cyouagain.cn/posts/31183.html",                    "https://cyouagain.cn/posts/51512.html",                    "https://cyouagain.cn/posts/5070.html",                    "https://cyouagain.cn/posts/65258.html",                    "https://cyouagain.cn/posts/21025.html",                    "https://cyouagain.cn/posts/24621.html",                    "https://cyouagain.cn/posts/22575.html",                    "https://cyouagain.cn/posts/5780.html",                    "https://cyouagain.cn/posts/46042.html",                };        //将urlsArr数组转化为字符串模式        String urlsStr=urlsArrToString(urlsArr);        //打印后果        System.out.println(Post(site,token,urlsStr));    }    public static String Post(String site,String token,String urlsStr) {        String result="";          PrintWriter out=null;          BufferedReader in=null;        try {              //建设URL之间的连贯              URLConnection conn=new URL(URL+"?site="+site+"&token="+token).openConnection();              //设置通用的申请属性              conn.setRequestProperty("Host","data.zz.baidu.com");              conn.setRequestProperty("User-Agent", "curl/7.12.1");              conn.setRequestProperty("Content-Length", "83");              conn.setRequestProperty("Content-Type", "text/plain");                              //发送POST申请必须设置如下两行              conn.setDoInput(true);              conn.setDoOutput(true);                              //获取conn对应的输入流              out=new PrintWriter(conn.getOutputStream());                     out.print(urlsStr);              //进行输入流的缓冲              out.flush();              //通过BufferedReader输出流来读取Url的响应              in=new BufferedReader(new InputStreamReader(conn.getInputStream()));              String line;              while((line=in.readLine())!= null){                  result += line;              }          } catch (Exception e) {              System.out.println("发送post申请出现异常!"+e);          } finally{              try{                  if(out != null){                      out.close();                  }                  if(in!= null){                      in.close();                  }                                  }catch(IOException ex){                  ex.printStackTrace();              }          }          return result;    }        //Array转String    public static String urlsArrToString(String []urlsArr) {        String tempResult="";        for(int i=0;i<urlsArr.length;i++) {            if(i==urlsArr.length-1) {                tempResult+=urlsArr[i].trim();            }else {                tempResult+=(urlsArr[i].trim()+"\n");            }        }        return tempResult;    }}

查看后果: 运行下面的程序后,看到后果如下:

小程序实现API提交

下面的程序曾经实现了网站资源的被动提交,然而也存在一些问题。如:

  1. 须要咱们本人额定编写代码,这对于不会的编程的小伙伴就很头疼了。
  2. 网站的提交信息嵌在代码中,提交的资源信息一旦产生扭转,就须要批改源代码。
  3. Java程序的运行依赖于JDK,这就要求咱们装置JDK并且进行一系列的配置。
  4. 应用平台固定,只能在PC端应用。

应以上应用缺点,一款在线提交网站资源小程序诞生了。它能让网站管理人员转心做SEO优化,不再受运行环境、应用平台等因素的烦扰。除此以外,小程序依附于微信,能在多平台应用,操作简略,无需装置。

百度API网站资源提交小程序体验地址:


百度API网站资源提交小程序体应用阐明: 网站、网页资源疾速收录百度API提交助手。

感激你应用网站资源提交助手,此小程序仅作为学习参考,获取源码请在公众号【C you again】后盾私信。欢送各大网站转发,但请注明原地址。