Python 自动推送百度收录脚本
版权属于:瞌学家 所有,转载请注明出处
本文链接:https://www.songonline.top/archives/185/
友情提示: 如果文章部分链接出现404,请留言或者联系博主修复。
import requests
import re
# 根据站点地图获取链接
def get_urls(sitemap):
response = requests.get(url=sitemap)
urls = re.findall('<loc>(.*?)</loc>', response.text)
return urls
# 推送百度 (参数:网站网址,token,网站站点地图)
def submit_baidu(site: str, token: str, sitemap: str):
msg = []
url_list = get_urls(sitemap)
response = requests.post(url=f'http://data.zz.baidu.com/urls?site={site}&token={token}',
headers={
'User-Agent': 'curl/7.12.1',
'Host': 'data.zz.baidu.com',
'Content-Type': 'text/plain',
'Content-Length': '83'
},
data='\n'.join(url_list)
)
if response.status_code == 200:
data = response.json()
msg.append(f"成功推送的url条数 {data.get('success')}")
msg.append(f"当天剩余的可推送url条数 {data.get('remain')}")
msg.append(f'今日推送的url列表:')
for url in url_list:
msg.append(f"{url}")
if data.get('not_same_site') is not None:
msg.append('由于不是本站url而未处理的url列表:')
for url in data.get('not_same_site'):
msg.append(f"{url}")
if data.get('not_valid') is not None:
msg.append('不合法的url列表:')
for url in data.get('not_valid'):
msg.append(f"{url}")
else:
msg.append(f'推送失败\n{response.json()}')
return msg
if __name__ == '__main__':
try:
info = submit_baidu(site='https://www.songonline.top', token='',
sitemap='https://www.songonline.top/sitemap.xml')
print('\n'.join(info))
except Exception as e:
print(e)