百度目前提供自動提交鏈接和手動提交鏈接兩種方式,其中自動提交又分為主動推送、自動推送和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)
百度鏈接推送規則見傳送
