当前访客身份:游客 [ 登录 | 申请入伍 ]

江西11选5走势图360|经验教程

当前位置:
江西快3开奖走势图 » 后援区 » 经验教程 » 主题内容
查看: 842|回复: 0
打印 上一主题 下一主题
收起左侧

如何利用Python脚本生成sitemap.xml-网站建设

[复制链接]

144

主题

144

帖子

90

积分

初入站场

Rank: 1

积分
90
本文来源:http://www.piucs.com/a/fldmf.hcnvc.cn/

江西快3开奖走势图 www.piucs.com,“督查”专栏将为倾听广大企业、群众和社会各方面对全省各地、各部门贯彻落实稳增长、促改革、调结构、惠民生、防风险政策措施落实情况的意见建议,主动接受公众监督,切实推动各项省政府重点工作任务落实,提供督查信息交流平台。日前,广东省编办透露,经过改革,统一规范、公开透明的“办事标准”已全面推广,面向基层、服务群众的“便民之门”正加快建成,互联贯通、全面覆盖的“服务之网”已逐步铺开,虚实结合、无缝衔接的“O2O模式”日趋成熟。

安装lxml
首先需要pip install lxml安装lxml库。
如果你在ubuntu上遇到了以下错误:
#include "libxml/xmlversion.h"
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Cleaning up...
Removing temporary dir /tmp/pip_build_root...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/lxml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-O4cIn6-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/lxml
Exception information:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 283, in run
requirement_set.install(install_options, global_options, root=options.root_path)
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1435, in install
requirement.install(install_options, global_options, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 706, in install
cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
File "/usr/lib/python2.7/dist-packages/pip/util.py", line 697, in call_subprocess
% (command_desc, proc.returncode, cwd))
InstallationError: Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/lxml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-O4cIn6-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/lxml
请安装以下依赖:
sudo apt-get install libxml2-dev libxslt1-dev
Python代码
下面是生成sitemap和sitemapindex索引的代码,可以按照需求传入需要的参数,或者增加字段:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import io
import re
from lxml import etree
def generate_xml(filename, url_list):
"""Generate a new xml file use url_list"""
root = etree.Element('urlset',
       xmlns="http://www.sitemaps.org/schemas/sitemap/0.9")
for each in url_list:
  url = etree.Element('url')
  loc = etree.Element('loc')
  loc.text = each
  url.append(loc)
  root.append(url)
header = u'\n'
s = etree.tostring(root, encoding='utf-8', pretty_print=True)
with io.open(filename, 'w', encoding='utf-8') as f:
  f.write(unicode(header+s))
def update_xml(filename, url_list):
"""Add new url_list to origin xml file."""
f = open(filename, 'r')
lines = [i.strip() for i in f.readlines()]
f.close()
old_url_list = []
for each_line in lines:
  d = re.findall('(http:\/\/.+)', each_line)
  old_url_list += d
url_list += old_url_list
generate_xml(filename, url_list)
def generatr_xml_index(filename, sitemap_list, lastmod_list):
"""Generate sitemap index xml file."""
root = etree.Element('sitemapindex',
       xmlns="http://www.sitemaps.org/schemas/sitemap/0.9")
for each_sitemap, each_lastmod in zip(sitemap_list, lastmod_list):
  sitemap = etree.Element('sitemap')
  loc = etree.Element('loc')
  loc.text = each_sitemap
  lastmod = etree.Element('lastmod')
  lastmod.text = each_lastmod
  sitemap.append(loc)
  sitemap.append(lastmod)
  root.append(sitemap)
header = u'\n'
s = etree.tostring(root, encoding='utf-8', pretty_print=True)
with io.open(filename, 'w', encoding='utf-8') as f:
  f.write(unicode(header+s))
if __name__ == '__main__':
urls = ['http://www.baidu.com'] * 10
mods = ['2004-10-01T18:23:17+00:00'] * 10
generatr_xml_index('index.xml', urls, mods)
效果
生成的效果应该是这种格式:
sitemap格式:
xml version="1.0" encoding="UTF-8"?>
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

http://www.example.com/foo.html

sitemapindex格式:
xml version="1.0" encoding="UTF-8"?>
  xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  http://www.example.com/sitemap1.xml.gz
  2004-10-01T18:23:17+00:00

[1]
江西快3开奖走势图[2]  下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站友网手机客户端: Android iPhone WP7 QQ

© 站友网(江西快3开奖走势图 www.piucs.com)|关于我们|小黑屋| 闽ICP备09072999号  

快速回复 返回顶部 返回列表
江苏快3冷号码遗漏 湖北快3走势图遗漏图 吉林快3和值表 内蒙古快36.1走势图 湖北快3数据 江西快3和值预测
甘肃快3一定牛走势图 贵州快3和值推荐 内蒙古快3开奖结果查询 甘肃快3常规综合走势图 河南快3开奖结果彩票控 内蒙古快3开奖查询
贵州快3 安徽快3走势图开奖 江苏快3今天推荐豹子 今天江苏快3豹子推荐号 福建快3开奖 北京快3公交线路
重庆时时彩开奖结果 浙江体彩手机投注 福建31选7app 黑龙江11选五开奖结果 pk10免费计划软件安卓
黑龙江11选5计划 香港49选7开奖记录 广东36选7分析走势 任选5胆拖中奖规则 今日甘肃快三推荐号码