Python版Sitemap网站地图站长推送工具

网站地图Sitemap站长推送工具Python版支持百度站长神马站长Bing站长自动化SiteMap地图链接提交,免去手动Api提交网址。

Python代码:

import requests  
import re  
  
def bing(urls):  
    global bing_number  
    headers = {  
        'Content-Type': 'application/json; charset=utf-8',  
        'Host': 'ssl.bing.com',  
    }  
    api = 'https://ssl.bing.com/webmaster/api.svc/json/SubmitUrl?apikey=站长Key'  
    print('Bing站长推送中...')  
    for page in urls:  
        json = {  
            'siteUrl': 'https://域名',  
            'url': page  
        }  
        response = requests.post(api, json=json, headers=headers).json()  
        if 'd' in response.keys():  
            bing_number = bing_number + 1  
        else:  
            break  
  
def baidu(urls):  
    global baidu_number  
    headers = {  
        'User-Agent': 'curl/7.12.1',  
        'Host': 'data.zz.baidu.com',  
        'Content-Type': 'text/plain',  
        'Content-Length': '83'  
    }  
    api = '百度站长API'  
    print('百度站长推送中...')  
    for page in urls:  
        response = requests.post(api, data=page, headers=headers).json()  
        if 'success' in response.keys():  
            baidu_number = baidu_number + 1  
        else:  
            break  
  
def shenma(urls):  
    global shenma_number  
    headers = {  
        'User-Agent': 'curl/7.12.1',  
        'Host': 'data.zhanzhang.sm.cn',  
        'Content-Type': 'text/plain',  
        'Content-Length': '83'  
    }  
    api = '神马API'  
    print('神马站长推送中...')  
    for page in urls:  
        try:  
            response = requests.post(api, data=page, headers=headers).json()  
            if response['returnCode'] == 200:  
                shenma_number = shenma_number + 1  
            else:  
                break  
        except:  
            break  
  
if __name__ == '__main__':  
    bing_number = 0  
    baidu_number = 0  
    shenma_number = 0  
    url = 'Sitemap.xml文件地址'  
    response_html = requests.get(url)  
    html = response_html.text  
    urls = re.findall('<loc>(.*?)</loc>', html)  
    bing(urls)  
    baidu(urls)  
    shenma(urls)  
    print('Bing站长共计推送:%s\n百度站长共计推送:%s\n神马站长共计推送:%s' % (bing_number, baidu_number, shenma_number))  

使用方法:

在宝塔面板中定时任务处设置定时任务。

嘿咯欢迎您!