百度智能小程序的快速收录中有天级推送和周级推送,百度小程序上线成功就可以实现快速收录的推送,关于百度api推送的代码今天淘小白和大家分享一下!
声明:凡是出现#########的地方,都是需要自己进行替换的
这里需要两个变量,一个计数N
pageid = []
page = []
n = 0
1、Pthon爬取自己网站的id拼接成path路径
这里的方法是采集自己的网址url然后拼接成自己小程序的路径url,根据各自的情况来写吧!我的是这样的。
def geturl():
web_post_url = "https://########"
for i in range(8):
NUM = i
formData={
'action':'more',
'classid':'0',
'table':'news',
'limit':'20',
'page': str(NUM)
}
headers={
'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11'
}
req = requests.post(url=web_post_url,headers=headers,data=formData)
resp = req.text
htmlid = re.findall(r'########',resp)
for j in htmlid:
pageid = "/pages/newsContent/index?id="+str(j)
page.append(pageid)
return page
2、获取ACCESS TOKEN,这里需要两个密钥
ACCESS TOKEN,这里要说明一下,为啥要提前获取这个token,因为这个token是有时效性(30天)的,所以,需要提前获取一下,避免失效造成推送失败。
方法如下:
def getAccessToken():
url="https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=######&client_secret=######&scope=smartapp_snsapi_base"
req = requests.get(url=url)
response = req.text
AccessToken = re.findall(r'"access_token":"(.*?)"',response)
print('已获取获取到的AccessToken:'+str(AccessToken))
url = "https://openapi.baidu.com/rest/2.0/smartapp/access/submitsitemap/api?access_token="+''.join(AccessToken)
return url
3、百度小程序的天级推送方法
具体代码如下,天级推送和周级推送的方法相对简单,百度官方也有提供,可以去看下:
def day_pushurl(path_list):
data = {"type": 1, "url_list":path_list}
print('=========【天级】推送网址:'+path_list+"=========")
time.sleep(1)
res = requests.post(url=AT_url, data=data)
res_text = res.text
print('=========【天级】推送结果:'+res_text+"=========")
return
4、百度小程序的周级推送方法
def week_pushurl(path_list):
data = {"type": 0, "url_list": path_list}
print('=========【周级】推送网址:'+path_list+"=========")
time.sleep(1)
res = requests.post(url=AT_url, data=data)
res_text = res.text
print('=========【周级】推送结果:'+res_text+"=========")
return
5、主程序运行逻辑
if __name__ == '__main__':
AT_url = getAccessToken()
geturl()
for link in page:
print('获取到新url:'+link)
n = n+1
if n <= 60 :
print('正在进行第'+str(n)+'次推送!')
day_pushurl(link)
else:
week_pushurl(link)
print('正在进行第'+str(n)+'次推送!')
以上便是百度智能小程序使用Python进行api自动推送的代码,有什么问题可以留下评论~看到会及时回复