之前已经写过一篇文章,百度站长平台主动推送(实时)链接接口示例,讲述了用命令行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