Realmente lo que viene siendo es un diccionario con todas las entities a substituir:
htmlentitydefs.codepoint2name {8704: 'forall', 8194: 'ensp', 8195: 'emsp', 8709: 'empty', 8711: 'nabla', 8712: 'isin', 8201: 'thinsp', 8715: 'ni', 8204: 'zwnj', 8205: 'zwj', 8206: 'lrm', 8719: 'prod', 8721: 'sum', 8722: 'minus', 8211: 'ndash', 8212: 'mdash', 8727: 'lowast', 8216: 'lsquo', 8217: 'rsquo', 8730: 'radic', 175: 'macr', 8220: 'ldquo', 8221: 'rdquo', 8222: 'bdquo', 8224: 'dagger', 8225: 'Dagger', 8226: 'bull', 8230: 'hellip', 8743: 'and', 8744: 'or', 8745: 'cap', 8746: 'cup', 8747: 'int', 8240: 'permil', 8242: 'prime', 8243: 'Prime', 8756: 'there4', 8713: 'notin', 8249: 'lsaquo', 8250: 'rsaquo', 8764: 'sim', 62: 'gt', 8629: 'crarr', 9824: 'spades', 8260: 'frasl', 8773: 'cong', 8776: 'asymp', 8207: 'rlm', 9829: 'hearts', 8800: 'ne', 8801: 'equiv', 9827: 'clubs', 8804: 'le', 8805: 'ge', 9830: 'diams', 38: 'amp', 8834: 'sub', 8835: 'sup', 8836: 'nsub', 8838: 'sube', 8839: 'supe', 8853: 'oplus', 8855: 'otimes', 8734: 'infin', 8218: 'sbquo', 8901: 'sdot', 160: 'nbsp', 161: 'iexcl', 162: 'cent', 163: 'pound', 164: 'curren', 8869: 'perp', 166: 'brvbar', 167: 'sect', 168: 'uml', 169: 'copy', 170: 'ordf', 171: 'laquo', 8364: 'euro', 173: 'shy', 174: 'reg', 8733: 'prop', 176: 'deg', 177: 'plusmn', 178: 'sup2', 179: 'sup3', 180: 'acute', 181: 'micro', 182: 'para', 183: 'middot', 184: 'cedil', 185: 'sup1', 186: 'ordm', 187: 'raquo', 188: 'frac14', 189: 'frac12', 190: 'frac34', 191: 'iquest', 192: 'Agrave', 193: 'Aacute', 194: 'Acirc', 195: 'Atilde', 196: 'Auml', 197: 'Aring', 198: 'AElig', 199: 'Ccedil', 200: 'Egrave', 201: 'Eacute', 202: 'Ecirc', 203: 'Euml', 204: 'Igrave', 34: 'quot', 206: 'Icirc', 207: 'Iuml', 208: 'ETH', 209: 'Ntilde', 210: 'Ograve', 211: 'Oacute', 212: 'Ocirc', 213: 'Otilde', 214: 'Ouml', 215: 'times', 216: 'Oslash', 217: 'Ugrave', 218: 'Uacute', 219: 'Ucirc', 220: 'Uuml', 221: 'Yacute', 222: 'THORN', 223: 'szlig', 224: 'agrave', 225: 'aacute', 226: 'acirc', 227: 'atilde', 228: 'auml', 229: 'aring', 230: 'aelig', 231: 'ccedil', 232: 'egrave', 205: 'Iacute', 234: 'ecirc', 235: 'euml', 236: 'igrave', 8658: 'rArr', 238: 'icirc', 239: 'iuml', 240: 'eth', 241: 'ntilde', 242: 'ograve', 243: 'oacute', 244: 'ocirc', 245: 'otilde', 246: 'ouml', 247: 'divide', 248: 'oslash', 249: 'ugrave', 250: 'uacute', 251: 'ucirc', 252: 'uuml', 253: 'yacute', 254: 'thorn', 255: 'yuml', 172: 'not', 8968: 'lceil', 8969: 'rceil', 8970: 'lfloor', 8971: 'rfloor', 8465: 'image', 8472: 'weierp', 8476: 'real', 8482: 'trade', 732: 'tilde', 9002: 'rang', 8736: 'ang', 402: 'fnof', 8706: 'part', 8501: 'alefsym', 710: 'circ', 338: 'OElig', 339: 'oelig', 352: 'Scaron', 353: 'scaron', 8593: 'uarr', 60: 'lt', 8594: 'rarr', 8707: 'exist', 8595: 'darr', 8254: 'oline', 233: 'eacute', 376: 'Yuml', 916: 'Delta', 237: 'iacute', 8592: 'larr', 913: 'Alpha', 914: 'Beta', 915: 'Gamma', 8596: 'harr', 917: 'Epsilon', 918: 'Zeta', 919: 'Eta', 920: 'Theta', 921: 'Iota', 922: 'Kappa', 923: 'Lambda', 924: 'Mu', 925: 'Nu', 926: 'Xi', 927: 'Omicron', 928: 'Pi', 929: 'Rho', 931: 'Sigma', 932: 'Tau', 933: 'Upsilon', 934: 'Phi', 935: 'Chi', 936: 'Psi', 937: 'Omega', 945: 'alpha', 946: 'beta', 947: 'gamma', 948: 'delta', 949: 'epsilon', 950: 'zeta', 951: 'eta', 952: 'theta', 953: 'iota', 954: 'kappa', 955: 'lambda', 956: 'mu', 957: 'nu', 958: 'xi', 959: 'omicron', 960: 'pi', 961: 'rho', 962: 'sigmaf', 963: 'sigma', 964: 'tau', 965: 'upsilon', 966: 'phi', 967: 'chi', 968: 'psi', 969: 'omega', 9674: 'loz', 8656: 'lArr', 977: 'thetasym', 978: 'upsih', 8659: 'dArr', 8660: 'hArr', 982: 'piv', 165: 'yen', 8657: 'uArr', 9001: 'lang'} Lo que tienes que hacer es recorrer tu texto y si el ord(caracter) se encuentra en el diccionario sustituirlo, sino dejarlo como esta. Que tienes que recorrer todo el texto, si ... quizás tienes razón que no es muy bonito y que probablemente con regular expressiones sería más rápido, pero vas a tener que meter todas las posibilidades que tienes en el diccionario. Saludos, Raúl 2012/6/5 Raimon Esteve <raimonest...@gmail.com> > El día 5 de junio de 2012 14:00, Raúl Cumplido > <raulcumpl...@gmail.com> escribió: > > Según la documentación oficial: > > > > http://docs.python.org/library/htmllib.html#module-htmlentitydefs > > correcto, pero tienes que ir carácter por carácter del string. No hay > nada más "limpio"? > > -- > Si us plau, NO adjunti arxius a les seves respostes. Li preguem que > integri el text al cos del missatge. Pot respondre usant NetEtiquete > que li ajudarà a seguir la conversa. > http://es.wikipedia.org/wiki/Netiquette > > Por favor, NO adjunte archivos a sus respuestas. Le rogamos que > integre el texto en el cuerpo del mensaje. Puede responder usando > NetEtiquete que le ayudará a seguir la > conversación.http://es.wikipedia.org/wiki/Netiquette > > Please, DO NOT send attachment files with your answers, just copy and > paste only the text you need to send into the body of your mails. > Repply using NetEtiquete. http://en.wikipedia.org/wiki/Netiquette > _______________________________________________ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Raúl Cumplido
_______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/