之前已经写过一篇文章,百度站长平台主动推送(实时)链接接口示例,讲述了用命令行curl的方式主动向百度推送我们的相关网址。

今天Interest.blog(本站)增加一个插件,在服务器端主动推送某一个URL。

#接口调用地址: http://data.zz.baidu.com/urls?site=www.saintic.com&token=QbriJ4Iv7TGi8yOF

命令行推送时,post提交了一个包含url列表的文件,改用python如果用files提交一个url,那真是费力不讨好。

经过测试,使用requests模块,post请求,data数据为url(string、unicode),即可完成推送。

主要代码;

def BaiduActivePush(pushUrl, original=True, callUrl=接口调用地址):
    """百度主动推送(实时)接口提交链接"""
    callUrl = callUrl + "&type=original" if original else callUrl
    res = requests.post(url=callUrl, data=pushUrl, timeout=3, headers={"User-Agent": "BaiduActivePush/www.saintic.com"}).json()
    logger.info("BaiduActivePush PushUrl is %s, Result is %s" % (pushUrl, res))
    return res

1. 接口调用地址就是你自己在百度站长平台中推送接口的地址,类似于http://data.zz.baidu.com/urls?site=此处改为你的站点&token=此处是你的token。

2. pushUrl为具体的url地址,例如http://blog.saintic.com/blog/87.html

·End·