转换&到&;在Python中

发布于 2024-08-09 00:28:49 字数 313 浏览 3 评论 0原文

我正在用 Python 开发一个简单的爬虫。目的是创建一个 sitemap.xml。 (您可以在这里找到 alpha 版本:http://code.google.com/p/sitemappy /) 我注意到,如果我生成包含非 HTML 实体(例如 &)的 URL 的 xml,则该 xml 不会验证,并且不会被 Google 网站站长工具接受。 有没有一种快速的方法来编码 URL 的查询字符串部分?

谢谢你!

马泰奥

I'm working on a simple crawler in Python. The aim is to create a sitemap.xml.
(you can find the very alpha version here: http://code.google.com/p/sitemappy/)
I noticed that if I generate the xml with URLs containing non HTML entities (such as &), the xml doesn't validate and it isn't accepted by Google Webmaster Tools.
Is there a quick way to encode the querystring part of the URLs?

Thank you!

Matteo

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

谁把谁当真 2024-08-16 00:28:49

cgi.escape 来救援:

cgi.escape(s[, quote])

转换字符“&”、“<”和“>”将 string s 中的内容转换为 HTML 安全序列。如果您需要显示 HTML 中可能包含此类字符的文本,请使用此选项。如果可选标志 quote 为 true,则引号字符 ('"') 也会被翻译;这有助于包含在 HTML 属性值中,如 中。如果要引用的值可能包含单引号或双引号字符,或者两者兼而有之,请考虑使用 xml.sax.saxutils 模块中的 quoteattr() 函数。

快速交互式检查:

>>> import cgi
>>> cgi.escape('<&>')
'<&>'
>>> 

cgi.escape to the rescue:

cgi.escape(s[, quote])

Convert the characters '&', '<' and '>' in string s to HTML-safe sequences. Use this if you need to display text that might contain such characters in HTML. If the optional flag quote is true, the quotation mark character ('"') is also translated; this helps for inclusion in an HTML attribute value, as in . If the value to be quoted might include single- or double-quote characters, or both, consider using the quoteattr() function in the xml.sax.saxutils module instead.

Quick interactive check:

>>> import cgi
>>> cgi.escape('<&>')
'<&>'
>>> 
风和你 2024-08-16 00:28:49

Saxutils 有一个针对 XML 实体的转义函数:

>>> from xml.sax import saxutils
>>> saxutils.escape("&")
'&'

Saxutils has an escaping function for XML entities:

>>> from xml.sax import saxutils
>>> saxutils.escape("&")
'&'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文