共计 4001 个字符,预计需要花费 11 分钟才能阅读完成。
API 提交
什么是 API 推送
最为疾速的提交形式,建议您将站点当天新产出链接立刻通过此形式推送给百度,以保障新链接能够及时被百度收录。
API 推送的长处
- 及时发现: 能够缩短百度爬虫发现您站点新链接的工夫,使新公布的页面能够在第一工夫被百度收录
- 爱护原创: 对于网站的最新原创内容,应用 API 推送性能能够疾速告诉到百度,使内容能够在转发之前被百度发现
如何应用 API 推送
推送接口及参数阐明:
接口调用地址:http://data.zz.baidu.com/urls…://dorm.cyouagain.cn&token=YYYYYYYYY
参数名称 | 是否必选 | 参数类型 | 阐明 |
---|---|---|---|
site | 是 | string | 在搜寻资源平台验证的站点,比方 www.example.com |
token | 是 | string | 在搜寻资源平台申请的推送用的准入密钥 |
百度给出 API 推送的几种示例,别离为:curl 推送、post 推送、php 推送、ruby 推送。具体推送示例请看百度搜寻资源平台。
接下来次要说下 POST 推送和具体实例。
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
推送反馈:
推送胜利状态码为 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。次要分为以下几个步骤:
- 获取推送接口的 site 和 token 信息
- 整顿须要提交的资源链接
- 编写代码,提交链接
- 查看后果
获取 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 提交
下面的程序曾经实现了网站资源的被动提交,然而也存在一些问题。如:
- 须要咱们本人额定编写代码,这对于不会的编程的小伙伴就很头疼了。
- 网站的提交信息嵌在代码中,提交的资源信息一旦产生扭转,就须要批改源代码。
- Java 程序的运行依赖于 JDK,这就要求咱们装置 JDK 并且进行一系列的配置。
- 应用平台固定,只能在 PC 端应用。
应以上应用缺点,一款在线提交网站资源小程序诞生了。它能让网站管理人员转心做 SEO 优化,不再受运行环境、应用平台等因素的烦扰。除此以外,小程序依附于微信,能在多平台应用,操作简略,无需装置。
百度 API 网站资源提交小程序体验地址:
百度 API 网站资源提交小程序体应用阐明: 网站、网页资源疾速收录百度 API 提交助手。
感激你应用网站资源提交助手,此小程序仅作为学习参考,获取源码请在公众号【C you again】后盾私信。欢送各大网站转发,但请注明原地址。