百度搜索資源平臺如何使用API推送功能
- 威海百度搜索資源平臺 威海百度搜索資源平臺
- 740
1,需要網(wǎng)站制作數(shù)據(jù)推送接口,進入API推送工具后,會看到接口調(diào)用地址的token,token是由16個英文數(shù)字組合的字符串
2,下面提供一些推送示例
1)curl推送示例
將要提交的url數(shù)據(jù)寫入一個本地文件,比如urls.txt,每個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等可以參照這個過程推送結(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
當天剩余的可推送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
錯誤碼,與狀態(tài)碼相同
message
是
string
錯誤描述
常見的推送失敗返回示例說明:
error
message
含義
400
site error
站點未在站長平臺驗證
empty content
post內(nèi)容為空
only 2000 urls are allowed once
每次最多只能提交2000條鏈接
over quota
超過每日配額了,超配額后再提交都是無效的
401
token is not valid
token錯誤
404
not found
接口地址填寫錯誤
500
internal error, please try later
服務(wù)器偶然異常,通常重試就會成功
API推送功能常見問題
1, 和原來的sitemap提交接口有什么區(qū)別?
答:狀態(tài)反饋更及時了,原來提交后需要登錄到搜索資源平臺查看提交是否成功。目前只要根據(jù)提交后返回的數(shù)據(jù)就可以判斷了。
2, 已經(jīng)存在的提交sitemap數(shù)據(jù)的程序代碼需要做什么修改?
答:主要修改兩點。第一點,提交的接口需要修改;第二點,需要處理下接口返回的信息,失敗后需要根據(jù)錯誤進行相應(yīng)處理,報錯的鏈接是無法提交成功的
3,為什么提交成功后看不到數(shù)據(jù)變化?
答:我們反饋的是新提交鏈接的數(shù)量,如果您提交的鏈接在之前提交過(即重復(fù)提交)是不會被統(tǒng)計到的
4,在什么時機使用API推送提交功能效果最明顯?
答:頁面鏈接產(chǎn)生或發(fā)布時立即提交,這樣效果是最好的
5,每次提交一條數(shù)據(jù)和多條數(shù)據(jù)有什么區(qū)別?
答:沒有區(qū)別
6,重復(fù)提交已經(jīng)發(fā)布的鏈接會有什么問題?
答:會有兩個影響。第一,將浪費您提交的配額,每個站點每天可提交的數(shù)量是有限制的,如果您都提交了舊鏈接,當有新鏈接時可能因為配額耗盡無法提交。第二,如果您經(jīng)常重復(fù)提交舊鏈接,我們會下調(diào)您的配額,您可能會失去API推送功能的權(quán)限
7,API推送可以推多少條鏈接?
答:API推送可提交的鏈接數(shù)量上限是根據(jù)您提交的新產(chǎn)生有價值鏈接數(shù)量而決定的,百度會根據(jù)您提交數(shù)量的情況不定期對上限額進行調(diào)整,提交的新產(chǎn)生有價值鏈接數(shù)量越多,可提交鏈接的上限越高。
來源:百度搜索資源平臺 百度搜索學(xué)堂