網站上線以後如果是做百度排名,那麼緊跟着就要在百度搜索資源平臺做主動提交、自動提交、移動適配等操作,那麼主動提交如何通過java實現,將網站新產生的鏈接實時提交給百度蜘蛛加速收錄呢?
1.使用主動推送功能會達到怎樣效果
及時發現:可以縮短百度爬蟲發現您站點新鏈接的時間,使新發布的頁面可以在第一時間被百度收錄
保護原創:對於網站的最新原創內容,使用主動推送功能可以快速通知到百度,使內容可以在轉發之前被百度發現
2.java實現主動提交
/**
* 百度鏈接實時推送
* @param Parameters 提交的鏈接數組:
* http://www.example.com/1.html
* http://www.example.com/2.html
* @return
*/
public static String postTuiSong(String url,String[] Parameters){
String PostUrl=url;
if(null==PostUrl || null==Parameters || Parameters.length==0){
return null;
}
String result = "";
PrintWriter out = null;
BufferedReader in = null;
try {
//建立URL之間的連接
URLConnection conn = new URL(PostUrl).openConnection();
//HttpURLConnection conn = (HttpURLConnection)new URL(PostUrl).openConnection();
//if(conn.getResponseCode()!=200){
//設置通用的請求屬性
conn.setRequestProperty("User-Agent", "curl/7.12.1");
conn.setRequestProperty("Host", "data.zz.baidu.com");
conn.setRequestProperty("Content-Type", "text/plain");
conn.setRequestProperty("Content-Length", "83");
//發送POST請求必須設置如下兩行
conn.setDoInput(true);
conn.setDoOutput(true);
//獲取conn對應的輸出流
out = new PrintWriter(conn.getOutputStream());
//發送請求參數
String param = "";
for(String s : Parameters){
param += s+"\n";
}
out.print(param.trim());
//進行輸出流的緩衝
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);
e.printStackTrace();
} finally{
try{
if(out != null){
out.close();
}
if(in != null){
in.close();
}
}catch(IOException ex){
ex.printStackTrace();
}
}
System.out.println("post推送結果:"+result);
return result;
}
}
其中url爲百度提供的主動提交鏈接
parameters爲提交的數據數組集合,比如我們每次只提交一條鏈接就這樣寫:
long id=12;
String [] parameter = new String[1];
parameter[0]="https://www.citywy.com/know/"+id+".htm";
postTuiSong(parameter);