python制作sitemap-百万页面快速制作sitemap

python制作sitemap-百万页面快速制作sitemap,由于公司开发比较忙,所以这个简单的需求,就没好意思提这个需求,自己在网上找了个源码,哇改都不用改,直接能用,舒服了。上次那个360自动提交的代码还浪费了我好几个小时呢。

import time

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

list = [url.strip() for url in open('url1.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>
        <mobile:mobiletype="mobile"/>
        <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,程序会自动判断,按最多50000条URL成生多个sitemap.xml文件,并且能自动生成siteamp索引文件,方便在百度站长平台提交。
用法:
将需要生成sitemap的URL存为urls.txt,URL一行一个。
将sitemap.py放到跟url.txt一个文件夹里
直接运行python sitemap.py,几秒钟之后会在文件当前路径下生成sitemap文件夹,里面就是生成好的sitemap.xml及sitemapindex.xml,sitemapindex.xml在百度站长平台提交就OK了。

分类: 站长原创

发表评论 X

电子邮件地址不会被公开。 必填项已用*标注

姓名不能为空
填写正确的email