python实现的百度主动推送源码
1、打开python开发工具idle,新建‘BDTS.py’文件

2、在cmd命令行窗口,使用pip安装requests包
pip install requests

3、在‘BDTS.py’写代码如下,创建一个类:
class BaiduTS:
def __init__(self,site,token):
self.SITE=site
self.TOKEN = token
self.API = '超文本传输协议://data.zz.baidu.com/{ACTION}?site={SITE}&token={TOKEN}'
初始化方法,传入站点和token在百度站长平台查看

4、接下来在类中写具体推送方法,代码如下:
def _do(self,action,pagelist):
page_string = ''
for page in pagelist:
page_string += page +'\n'
content_length = len(page_string)
response = r.post(
self.API.format(ACTION = action,
SITE=self.SITE,
TOKEN=self.TOKEN),
headers = {
'User-Agent':'curl/7.12.1',
'Host':'data.zz.baidu.com',
'Content-Length':str(content_length)
},
data = page_string
)
return response.json()
这里很巧妙的使用了_do方法,涵盖了三种操作,push,delete和update

5、上一步方法的依据,是百度站长平台的curl命令实例如下图,不过百度官方并没有给出python的例子

6、接着编写push、delete和update方法,实际就是调用了_do方法
def push(self,pagelist):return self._do('urls',pagelist)
def update(self,pagelist):return self._do('update',pagelist)
def delete(self,pagelist):return self._do('del',pagelist)

7、最后就是推送了,实例化对象后调用方法,比较简单,代码如下:
BD = BaiduTS('yoursite','yourtoken')
result = BD.push(['yourlink1',\
'yourlink2'])
print (result)

阅读量:167
阅读量:184
阅读量:92
阅读量:95
阅读量:23