百度主动推送代码, 添加到宝塔计划任务实现自动推送-Python3

之前我提到了如何利用python批量提交链接给百度,今天给大家一个可以直接放到宝塔中让他自动推送的脚本。以后搞每日的推送就不用再手动点击软件啦。直接上代码。 百度主动推送脚本 import requests import re im……

之前我提到了如何利用python批量提交链接给百度,今天给大家一个可以直接放到宝塔中让他自动推送的脚本。以后搞每日的推送就不用再手动点击软件啦。直接上代码。

百度主动推送脚本

import requests
import re
import json

push_log_path = '/www/wwwroot/360baiduseo.com/push_log.txt' #日志文件,需要手动新建push_log.txt文件在网站根目录,并改成你的网站绝对路径

def get_sitemap_urls():
ret = requests.get('https://www.360baiduseo.com/sitemap.xml').text #解析sitemap.xml中的链接地址
re_loc = re.compile('<loc>(.*?)</loc>')
urls = re.findall(re_loc,ret)
return urls

def get_pushd_urls():
with open(push_log_path) as f:
content = f.read()
urls = str(content).split('\n')
return list(filter(lambda x : x, urls))

def get_no_push_urls(num=20):
all_urls = get_sitemap_urls()
pushed_urls = get_pushd_urls()
urls = []
for url in all_urls :
if url in pushed_urls:
continue
if len(urls) == num :
break
urls.append(url)
#返回urls
return urls

def tianji_push(urls):
'''
百度推送

'''
headers = {'Content-Type':'text/plain'}
api = 'http://data.zz.baidu.com/urls?site=https://www.360baiduseo.com&token=*******' #百度接口调用地址
ret = requests.post(api,headers=headers, data = urls, timeout=3).text
return ret

def write_to_log(url):
'''
写入文件
'''
with open(push_log_path,'a+') as f:
f.write(url)

if __name__ == "__main__":
urls = get_no_push_urls(5) #每次推送链接的数量 根据每次采集文章数量进行调整
for url in urls:
try:
ret = tianji_push(url)
print(url,ret)
data = json.loads(ret)
success_realtime = data['remain']
if success_realtime > 0 :
write_to_log(url)
print(url,'推送成功')
else:
print(url,'推送失败')
break
except:
pass
print('推送完成')

百度主动推送脚本使用说明

将上面代码复制到网站更目录,并保存文件名为baidu.py
更改www.360baiduseo.com为你的域名,并设置代码中的token为你的百度token
新建push_log.txt文件在网站根目录
在宝塔后台添加计划任务
任务类型:shell脚本
任务名称:网站360baiduseo.com的百度推送
执行周期:执行周期 设置成你每次采集文章间隔时间
脚本内容:python3 /www/wwwroot/360baiduseo.com/baidu.py

如果在使用过程中遇到什么问题,也可以直接联系我,一起学些交流。

相关推荐

[Python百度链接提交–主动推送链接给百度–实现快速收录]