百度目前提供自动提交链接和手动提交链接两种方式,其中自动提交又分为主动推送、自动推送和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 \n" %(r.text)
return baiduresult
if __name__=="__main__":
ts=tuisong()
print(ts)
百度链接推送规则见传送