網站資源快速收錄----百度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】後臺私信。歡迎各大網站轉發,但請註明原地址。

相關文章
相關標籤/搜索