网站资源快速收录----百度API提交Java版,百度API网站资源提交小程序版

API提交

什么是API推送javascript

最为快速的提交方式,建议您将站点当天新产出连接当即经过此方式推送给百度,以保证新连接能够及时被百度收录。php

API推送的优势html

  • 及时发现: 能够缩短百度爬虫发现您站点新连接的时间,使新发布的页面能够在第一时间被百度收录
  • 保护原创: 对于网站的最新原创内容,使用API推送功能能够快速通知到百度,使内容能够在转发以前被百度发现

如何使用API推送java

推送接口及参数说明:编程

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

参数名称 是否必选 参数类型 说明
site string 在搜索资源平台验证的站点,好比www.example.com
token string 在搜索资源平台申请的推送用的准入密钥

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

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

post推送示例:微信

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

推送反馈:curl

推送成功状态码为200,可能返回如下字段:

参数名称 是否必选 参数类型 说明
site string 在搜索资源平台验证的站点,好比www.example.com
success int 成功推送的url条数
remain int 当天剩余的可推送url条数
not_same_site array 因为不是本站url而未处理的url列表
not_valid array 不合法的url列表

成功返回示例:

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

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

参数名称 是否必选 参数类型 说明
error int 错误码,与状态码相同
message string 错误描述

失败返回示例:

{
    "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】后台私信。欢迎各大网站转发,但请注明原地址。

相关文章
相关标签/搜索