百度目前提供自动提交链接和手动提交链接两种方式,其中自动提交又分为主动推送、自动推送和sitemap三种形式,按百度的说法,主动推送的效果最好,百度站长平台后台也提供了curl、php、ruby的推送示例代码但没有提供python代码,网上很少有现成的python版本主动推送代码(仅有的也有点小问题,需要修改一下),现将目前我正在使用的主动推送python代码贴出。
#encoding:utf-8 import httplib def tuisong(): filecontents = open( "urls.txt", "r" ).read() //urls.txt为需要推送的URL文件,每行一个 url = "/urls?site=域名(不带http)&token=令牌(在自己的百度站长平台后台可以看到)" conn = httplib.HTTPConnection('data.zz.baidu.com') conn.request(method="POST", url=url, body=filecontents) response = conn.getresponse() baiduresult = response.read() conn.close() return baiduresult if __name__=="__main__": ts=tuisong() print ts
推送后会返回相关的代码!
下面是我用的requests实现的,更简洁:
import requests def tuisong(self): url = "/urls?site=域名(不带http)&token=令牌(在自己的百度站长平台后台可以看到)" filecontents = {'file': open('urls.txt', 'rb')} #urls.txt为需要推送的URL文件,每行一个 r=requests.post("http://data.zz.baidu.com"+url, files=filecontents) baiduresult ="推送成功,结果为%s " %(r.text) return baiduresult if __name__=="__main__": ts=tuisong() print(ts)
百度链接推送规则见传送