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']
# -*-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文件相同。多了一个循环生成节点的方法。新生可参见上一讲的方法
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
作者:信息录入:文案编辑:视频录制:视频编辑:图片编辑: