百度搜索資源平臺(tái)如何使用API推送功能
1,需要網(wǎng)站制作數(shù)據(jù)推送接口,進(jìn)入API推送工具后,會(huì)看到接口調(diào)用地址的token,token是由16個(gè)英文數(shù)字組合的字符串
2,下面提供一些推送示例
1)curl推送示例
將要提交的url數(shù)據(jù)寫入一個(gè)本地文件,比如urls.txt,每個(gè)url占一行,然后調(diào)用curl命令:
curl -H 'Content-Type:text/plain' --data-binary @urls.txt
"http://data.zz.baidu.com/urls?site=www.example.com&token=edk7yc4rEZP9pDQD"
使用php、python、java等可以參照這個(gè)過程推送結(jié)構(gòu)化數(shù)據(jù)。
2)post推送示例
POST /urls?site=www.58.com&token=edk7ychrEZP9pDQD HTTP/1.1
User-Agent: curl/7.12.1
Host: data.zz.baidu.com
Content-Length: 83
http://www.example.com/1.html
http://www.example.com/2.html
3)php推送示例
$urls = array(
'http://www.example.com/1.html',
'http://www.example.com/2.html',
);
$api = 'http://data.zz.baidu.com/urls
site=www.58.com&token=edk7ychrEZP9pDQD';
$ch = curl_init();
$options = array(
CURLOPT_URL => $api,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => implode("\n", $urls),
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
echo $result;
4)ruby推送示例
require 'net/http'
urls = ['http://www.example.com/1.html', 'http://www.example.com/2.html']
uri = URI.parse('http://data.zz.baidu.com/urls
site=www.xxx.com&token=eTk7ychrWZP1pDQD')
req = Net::HTTP::Post.new(uri.request_uri)
req.body = urls.join("\n")
req.content_type = 'text/plain'
res = Net::HTTP.start(uri.hostname, uri.port) { |http| http.request(req) }
puts res.body
如何查看推送反饋
您可以通過推送后返回的狀態(tài)碼和字段來判斷數(shù)據(jù)是否推送成功。
1,狀態(tài)碼為200,表示推送成功,可能返回以下字段:
字段
是否必選
參數(shù)類型
說明
success
是
int
成功推送的url條數(shù)
remain
是
int
當(dāng)天剩余的可推送url條數(shù)
not_same_site
否
array
由于不是本站url而未處理的url列表
not_valid
否
array
不合法的url列表
成功返回示例:
{
"remain":4999998,
"success":2,
"not_same_site":[],
"not_valid":[]
}
2,狀態(tài)碼為4XX或500,表示推送失敗,返回字段有:
字段
是否必選
類型
說明
error
是
int
錯(cuò)誤碼,與狀態(tài)碼相同
message
是
string
錯(cuò)誤描述
常見的推送失敗返回示例說明:
error
message
含義
400
site error
站點(diǎn)未在站長平臺(tái)驗(yàn)證
empty content
post內(nèi)容為空
only 2000 urls are allowed once
每次最多只能提交2000條鏈接
over quota
超過每日配額了,超配額后再提交都是無效的
401
token is not valid
token錯(cuò)誤
404
not found
接口地址填寫錯(cuò)誤
500
internal error, please try later
服務(wù)器偶然異常,通常重試就會(huì)成功
API推送功能常見問題
1, 和原來的sitemap提交接口有什么區(qū)別?
答:狀態(tài)反饋更及時(shí)了,原來提交后需要登錄到搜索資源平臺(tái)查看提交是否成功。目前只要根據(jù)提交后返回的數(shù)據(jù)就可以判斷了。
2, 已經(jīng)存在的提交sitemap數(shù)據(jù)的程序代碼需要做什么修改?
答:主要修改兩點(diǎn)。第一點(diǎn),提交的接口需要修改;第二點(diǎn),需要處理下接口返回的信息,失敗后需要根據(jù)錯(cuò)誤進(jìn)行相應(yīng)處理,報(bào)錯(cuò)的鏈接是無法提交成功的
3,為什么提交成功后看不到數(shù)據(jù)變化?
答:我們反饋的是新提交鏈接的數(shù)量,如果您提交的鏈接在之前提交過(即重復(fù)提交)是不會(huì)被統(tǒng)計(jì)到的
4,在什么時(shí)機(jī)使用API推送提交功能效果最明顯?
答:頁面鏈接產(chǎn)生或發(fā)布時(shí)立即提交,這樣效果是最好的
5,每次提交一條數(shù)據(jù)和多條數(shù)據(jù)有什么區(qū)別?
答:沒有區(qū)別
6,重復(fù)提交已經(jīng)發(fā)布的鏈接會(huì)有什么問題?
答:會(huì)有兩個(gè)影響。第一,將浪費(fèi)您提交的配額,每個(gè)站點(diǎn)每天可提交的數(shù)量是有限制的,如果您都提交了舊鏈接,當(dāng)有新鏈接時(shí)可能因?yàn)榕漕~耗盡無法提交。第二,如果您經(jīng)常重復(fù)提交舊鏈接,我們會(huì)下調(diào)您的配額,您可能會(huì)失去API推送功能的權(quán)限
7,API推送可以推多少條鏈接?
答:API推送可提交的鏈接數(shù)量上限是根據(jù)您提交的新產(chǎn)生有價(jià)值鏈接數(shù)量而決定的,百度會(huì)根據(jù)您提交數(shù)量的情況不定期對上限額進(jìn)行調(diào)整,提交的新產(chǎn)生有價(jià)值鏈接數(shù)量越多,可提交鏈接的上限越高。
來源:百度搜索資源平臺(tái) 百度搜索學(xué)堂