Python for SEO
Генерация xml карты.
Иногда требуется сгенерировать xml карту для заданных ссылок. Сначала делал это за счет метода строки format, но вот решил попробовать модуль для работы с xml и набросал простенькую функцию:
import StringIO
from xml.sax.saxutils import XMLGenerator
def create_sitemap(host,cnagfreq,priority,*links):
st = StringIO.StringIO()
g = XMLGenerator(st,encoding="UTF-8")
g.startDocument()
g.startElement('urlset', {'xmlns':"http://www.sitemaps.org/schemas/sitemap/0.9"})
for lnk in links:
g.characters("\n")
g.startElement("url", {})
g.characters("\n")
g.startElement("loc", {})
g.characters(lnk)
g.endElement("loc")
g.characters("\n")
g.startElement("changefreq", {})
g.characters(cnagfreq)
g.endElement("changefreq")
g.characters("\n")
g.startElement("priority", {})
g.characters(priority)
g.endElement("priority")
g.characters("\n")
g.endElement("url")
g.characters("\n")
g.endElement("urlset")
g.endDocument()
return st.getvalue()
lst = ["http://ya.ru/{0}.html".format(x) for x in xrange(5)]
print create_sitemap("http://ya.ru/","daily","0.8",*lst)
- 19 Май 12:00
