from __future__ import unicode_literals, absolute_import
import requests
import xmltodict

class BaiduLinksubmit(object):
    def __init__(self,site_domain,sitemap_file, baidu_token):
        self.site_domain = site_domain
        self.sitemap_file = sitemap_file
        self.baidu_token = baidu_token
        self.url_list = []
    def read_sitemap(self):
        print('开始读取site文件')
        with open(self.sitemap_file,'r') as f:
            
            self.url_list = [ line.strip() for line in f if line.strip() !='']
        
        print('抓取到%sI页uRL链接'% len(self.url_list))
    def submit(self):
        url = 'http://data.zz.baidu.com/urls?site=%s &token=$s' %(self.site_domain, self.baidu_token)
        headers = {
            'content-rype': 'text/plain'
        }
        data = '\n'.join(self.url_list)
        r = requests.post(url,headers=headers,data=data)
        data = r.json()
        print('成功推送的url条数:%s' % data.get( 'success', 0))
        print('当天剩余的可推送url条数:%s' % data.get( 'remain', 0))
        not_same_site = data.get('not_same_site',[])
        
        not_valid = data.get( 'not_valid',[])
        if len(not_same_site) > 0:
            print('由于不是本站url而未处理的ur1列表')
            for t in not_same_site:
                print(t)
        if len(not_valid) > 0:
            print('不合法的ur1列表')
            for t in not_valid:
                print(t)
def main():
    #需要修改为自己的域名
    site_domain = "www.k6366.com.cn"
    #你的site.txt的文件路径
    sitemap_file = 'site.txt'
    #在站长平台申请的推送用的准入密钥
    #在首度站长平台可以查找到
    baidu_token = 'xxxxxxxx'
    app = BaiduLinksubmit(site_domain, sitemap_file, baidu_token)
    app.read_sitemap()
    app.submit()

main()

可结合宝塔面板的Python项目进行永远运行的自动提交


【腾讯云】星星海SA2云服务器618钜惠,1核2G 首年95元【点击查看】。


文章: 《Python 版百度站长平台链接主动推送脚本》
联系方式:
文章链接:https://wxiou.cn/index.php/archives/83/
除特别注明外,文章均为Literature原创,转载时请注明本文出处及文章链接
Last modification:July 24th, 2020 at 06:20 pm
如果觉得我的文章对你有用,请随意赞赏