我正在使用Python中的简单爬虫.目的是创建一个sitemap.xml.(你可以在这里找到非常版的alpha版本:http://code.google.com/p/sitemappy/)我注意到如果我使用包含非HTML实体(例如&)的URL生成xml,则xml不会验证,Google网站站长工具不接受此操作.有没有快速的方法来编码URL的查询字符串部分?
谢谢!
马特奥
cgi.escape
救援:
cgi.escape(s[, quote])
将字符串s中的字符'&','<'和'>'转换为HTML安全序列.如果需要在HTML中显示可能包含此类字符的文本,请使用此选项.如果可选标记引用为true,则引号字符('"')也会被翻译;这有助于包含在HTML属性值中,如下所示.如果要引用的值可能包括单引号或双引号字符,或两者,请考虑使用xml.sax.saxutils模块中的quoteattr()函数.
快速互动检查:
>>> import cgi >>> cgi.escape('<&>') '<&>' >>>
Saxutils具有XML实体的转义功能:
>>> from xml.sax import saxutils >>> saxutils.escape("&") '&'