百度搜索资源平台 API 提交代码 Python 版分享

百度搜索资源平台百度站长平台)提供资源提交的功能,我们可以在后台手动提交,也可以通过 API 提交,从而加快百度收录速度,对百度 SEO 有一定的好处。API 提交示例百度提供了 PHP 版、curl 版、post 版和 ruby 版,今天老王就分享一个 Python 版的推送代码。

一、Python 版提交示例

直接上代码,将 post_baidu_uri 改成你的接口调用地址即可:

def push_url(post_url):
    headers = {
        'User-Agent': 'curl/7.12.1',
        'Host': 'data.zz.baidu.com',
        'Content - Type': 'text / plain',
        'Content - Length': '83'
    }
    post_baidu_uri = 'http://data.zz.baidu.com/urls?site=https://laowangblog.com&token=******'

    # 将列表进行拼接
    post_data = '\n'.join(post_url)
    res = requests.post(url=post_baidu_uri, headers=headers, data=post_data)
    save_push_log("result: " + str(res.status_code) + res.text + " url: " + post_url[0])

其中 post_url 是一个列表,形如:post_url = ['https://laowangblog.com/aliyundrive-apply.html', https://laowangblog.com/ulcoud-1024-2020.html],根据 res 的结果可以判断是否推送成功,返回如下则说明成功:

result: 200{"remain":9975,"success":1}

二、其他版本提交示例

百度搜索资源平台 API 提交功能入口处百度官方提供了 4 种提交示例,这里也分享一下。

1、PHP 版

$urls = array(
    'http://www.example.com/1.html',
    'http://www.example.com/2.html',
);
$api = 'http://data.zz.baidu.com/urls?site=laowangblog.com&token=******';
$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;

2、curl 版

curl -H 'Content-Type:text/plain' --data-binary @urls.txt "http://data.zz.baidu.com/urls?site=https://laowangblog.com&token=******"

3、post 版

POST /urls?site=https://laowangblog.com&token=******HTTP/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

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=https://laowangblog.com&token=******')
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
赞(0)
关注我们
未经允许不得转载:老王博客 » 百度搜索资源平台 API 提交代码 Python 版分享

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址