Domanda

Sto lavorando a un semplice crawler in Python. L'obiettivo è creare un sitemap.xml. (puoi trovare la versione molto alfa qui: http://code.google.com/p/sitemappy / ) Ho notato che se generi l'xml con URL contenenti entità non HTML (come & amp;), l'xml non viene convalidato e non è accettato dagli Strumenti per i Webmaster di Google. Esiste un modo rapido per codificare la parte querystring degli URL?

Grazie!

Matteo

È stato utile?

Soluzione

cgi.escape al salvataggio:

  

cgi.escape (s [, quote])

     

Converti i caratteri '& amp;', '<' e ">" nelle stringhe di sequenze sicure per HTML. Utilizzare questo se è necessario visualizzare testo che potrebbe contenere tali caratteri in HTML. Se la virgoletta opzionale è vera, viene tradotto anche il carattere delle virgolette ('"'); questo aiuta per l'inclusione in un valore di attributo HTML, come in. Se il valore da quotare potrebbe includere caratteri a virgoletta singola o doppia o entrambi, prendere invece in considerazione l'utilizzo della funzione quoteattr () nel modulo xml.sax.saxutils.

Controllo interattivo rapido:

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

Altri suggerimenti

Saxutils ha una funzione di escape per entità XML:

>>> from xml.sax import saxutils
>>> saxutils.escape("&")
'&amp;'
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top