문제

나는 파이썬에서 간단한 크롤러를 작업하고 있습니다. 목표는 sitemap.xml을 만드는 것입니다. (여기에서는 매우 알파 버전을 찾을 수 있습니다. http://code.google.com/p/sitempyppy/) 비 HTML 엔티티 (예 : &)가 포함 된 URL과 함께 XML을 생성하면 XML이 유효성이 없으며 Google 웹 마스터 도구에서 허용되지 않습니다. URL의 쿼리 스트링 부분을 인코딩하는 빠른 방법이 있습니까?

고맙습니다!

마테오

도움이 되었습니까?

해결책

cgi.escape 구조에 :

cgi.escape(s[, quote])

문자열 s로 문자 '&', '<'및 '>'를 HTML-SAFE 시퀀스로 변환하십시오. HTML에 해당 문자가 포함될 수있는 텍스트를 표시 해야하는 경우이 경우 사용하십시오. 옵션 플래그 인용문이 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