質問

Pythonで簡単なクローラーを使用しています。目的は、sitemap.xmlを作成することです。 (アルファ版は次の場所にあります: http://code.google.com/p/sitemappy / ) 非HTMLエンティティ(&など)を含むURLでxmlを生成すると、xmlは検証されず、Google Webmaster Toolsで受け入れられないことに気付きました。 URLのクエリ文字列部分をエンコードする簡単な方法はありますか?

ありがとう!

マット

役に立ちましたか?

解決

cgi.escape にレスキュー:

  

cgi.escape(s [、quote])

     

文字「&」、「<」を変換しますおよび「>」文字列sからHTMLセーフシーケンスへ。このような文字を含むテキストをHTMLで表示する必要がある場合に使用します。オプションのフラグquoteがtrueの場合、引用符文字( '"')も変換されます。これは、などのHTML属性値に含めるのに役立ちます。引用される値に一重引用符または二重引用符、あるいはその両方が含まれる場合は、代わりにxml.sax.saxutilsモジュールのquoteattr()関数の使用を検討してください。

クイックインタラクティブチェック:

>>> import cgi
>>> cgi.escape('<&>')
'&lt;&amp;&gt;'
>>> 

他のヒント

Saxutils には、XMLエンティティのエスケープ機能があります。

>>> from xml.sax import saxutils
>>> saxutils.escape("&")
'&amp;'
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top