python百万sitemap制作

小镇
seo小公举【工具】:百度标准规范sitemap制作,一个脚本全搞掂,自动生成且按百度最大数量要求划分50000条url为一个xml文件!
量大:不论有多小url,放到需要制作成url.txt文件里面,一行一个,之后交给脚本,比如有12万url,会制作成3个sitemap文件,5w,5w,2w这样子生成sitemap文件
运行脚本,将要制作的url.txt和sitemap.py放到同一个目录下,python sitemap.py,本人习惯用sublime text直接键盘敲ctrl+b搞掂,配置可按Sublime text3配置python开发环境

import time

date=time.strftime('%Y-%m-%d',time.localtime())

list=[url.strip() for url in open('url.txt').readlines()]


class sitemaps:
    def __init__(self):
        self.n=1

    def name(self,c):
        opxml=open('sitemap%s.xml'%c,'a')
        opxml.write('''<?xml version="1.0" encoding="utf-8"?>
<urlset>\n''')
        return opxml


    def zhizuo(self,urllist):
        xmldata=self.name(self.n)
        
    #     print '''<?xml version="1.0" encoding="utf-8"?>
    # <urlset>'''
        m=0
        for i in urllist:
            i=i.strip()
            m+=1
            sitemaps='''    <url>
        <loc>'''+str(i)+'''</loc>
        <lastmod>'''+date+'''</lastmod>
        <priority>0.8</priority>
    </url>\n'''
            xmldata.write(sitemaps)

            # print sitemaps
            if m==50000:
                self.n+=1
                xmldata.write('</urlset>\n')
                xmldata=self.name(self.n)
                m=0
                
            else:
                pass
        xmldata.write('</urlset>\n')
        # print '</urlset>'


if __name__ == '__main__':
    p=sitemaps()
    p.zhizuo(list)

生成效果:为了更加明显,我用关键词来替代url了!
sitemap

【姿势补充:移动端sitemap制作脚本要略作改动,请看下面自行补脑,来源百度站长平台】
什么是移动Sitemap协议,如何提交移动Sitemap协议
百度推出了移动Sitemap协议,用于将网址提交给移动搜索收录。百度移动Sitemap协议是在标准Sitemap协议基础上制定的,增加了标签,它有四种取值:

<mobile:mobile/> :移动网页
<mobile:mobile type="mobile"/> :移动网页      
<mobile:mobile type="pc,mobile"/>:自适应网页
<mobile:mobile type="htmladapt"/>:代码适配

无该上述标签表示为PC网页

下方样例相当于向百度移动搜索提交了一个移动网页:https://m.example.com/index.html,向PC搜索提交了一个传统网页:https://www.example.com/index.html,同时向移动搜索和PC搜索提交了一个自适配网页https://www.example.com/autoadapt.html:

<?xml version="1.0" encoding="UTF-8" ?> 
<urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:mobile="https://www.baidu.com/schemas/sitemap-mobile/1/"> 
<url> 
<loc>https://m.example.com/index.html</loc> 
<mobile:mobile type="mobile"/>
<lastmod>2009-12-14</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url> 
<url> 
<loc>https://www.example.com/index.html</loc>
<lastmod>2009-12-14</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url> 
<url> 
<loc>https://www.example.com/autoadapt.html</loc> 
<mobile:mobile type="pc,mobile"/>
<lastmod>2009-12-14</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url> 
<url> 
<loc>https://www.example.com/htmladapt.html</loc> 
<mobile:mobile type="htmladapt"/>
<lastmod>2009-12-14</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url> 
</urlset>

按照移动Sitemap协议做好Sitemap后,在Sitemap工具点击添加新数据提交,与提交普通Sitemap方式一致。

Leave a Comment