sitempa文件生成


模拟网页数据

sitemap.xml文件会索引网站url,此处模拟一些数据

    apiData=['http://api.1473.cn/LearningMaterials/Node/index.aspx',
             'http://api.1473.cn/LearningMaterials/Node/DatabaseModel/vscode.aspx',
             'http://api.1473.cn/LearningMaterials/Node/DatabaseModel/Node_ajax.aspx']

循环上面的数组,向xml文件写入节点信息:

# -*-coding:utf-8-*-
__author__ = 'cwh'
import xml.dom.minidom
#包含时间类
import datetime
class UsestudioXML:
    apiData=['http://api.1473.cn/LearningMaterials/Node/index.aspx',
             'http://api.1473.cn/LearningMaterials/Node/DatabaseModel/vscode.aspx',
             'http://api.1473.cn/LearningMaterials/Node/DatabaseModel/Node_ajax.aspx']
    def apiXML(self):
        #在内存中创建一个空的文档
        doc = xml.dom.minidom.Document()
        #创建一个根节点root对象
        root = doc.createElement('urlset')
        #设置根节点的属性
        #root.setAttribute('company', '有思俱乐部')
        #root.setAttribute('address', '科技软件园')
        #将根节点添加到文档对象中
        doc.appendChild(root)
        for i in self.apiData:
            nodeUrl = doc.createElement('url')
            #给叶子节点loc设置一个文本节点,用于显示站点地图的url
            nodeLoc = doc.createElement('loc')
            nodeLoc.appendChild(doc.createTextNode(i))
            #添加时间节点
            nodeLastmod = doc.createElement("lastmod")
            #nodeLastmod.appendChild(doc.createTextNode(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')))
            nodeLastmod.appendChild(doc.createTextNode(datetime.datetime.now().strftime('%Y-%m-%d')))
            #将各叶子节点添加到父节点url中,
            #最后将url节点添加到根节点root中
            nodeUrl.appendChild(nodeLoc)
            nodeUrl.appendChild(nodeLastmod)
            root.appendChild(nodeUrl)
        #开始写xml文档,"w+",打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
        fp = open('c:\\usestudioxml\\sitemap1.xml', 'w+')
        #写入XML头,类似
        #indent='\t' 指第一个urlset的空格个数   addindent='\t'为后面的元素的空格间距。
        #doc.writexml(fp, indent='\t', addindent='\t', newl='\n', encoding="utf-8")
        doc.writexml(fp, addindent='    ', newl='\n', encoding="utf-8")
#由类生成对象
_ux=UsestudioXML()
#调用对象中的方法
_ux.apiXML()

注:原理和上一讲生成sitemapindex.xml文件相同。多了一个循环生成节点的方法。新生可参见上一讲的方法

生成的xml文件在如下地址:c:\\usestudioxml\\sitemap1.xml,文件中的信息如下:



    
        http://api.1473.cn/LearningMaterials/Node/index.aspx
        2018-05-09
    
    
        http://api.1473.cn/LearningMaterials/Node/DatabaseModel/vscode.aspx
        2018-05-09
    
    
        http://api.1473.cn/LearningMaterials/Node/DatabaseModel/Node_ajax.aspx
        2018-05-09
    

工作人员

 
                    
作者:楚老师
信息录入:楚老师
文案编辑:楚老师
视频录制:楚老师
视频编辑:楚老师
图片编辑:楚老师