Sto cercando di pulire tutto l'HTML fuori da una stringa in modo che l'output finale sia un file di testo. Ho qualche ricerca sui vari 'convertitori' e sto iniziando a propendere per creare il mio dizionario per le entità e i simboli e eseguire una sostituzione sulla stringa. Sto considerando questo perché voglio automatizzare il processo e c'è molta variabilità nella qualità dell'html sottostante. Per iniziare a confrontare la velocità della mia soluzione e una delle alternative per esempio pyparsing ho deciso di testare la sostituzione di \ xa0 usando il metodo stringa replace. Ho unCome lavorare con unicode in Python
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa0 in position 0: ordinal not in range(128)
La linea attuale del codice era
s=unicodestring.replace('\xa0','')
Comunque, ho deciso che avevo bisogno di farla precedere da un r così mi sono imbattuto questa riga di codice:
s=unicodestring.replace(r'\xa0','')
Funziona senza errori ma io quando guardo una porzione di s vedo che il \ xaO è ancora lì
Perché dovresti prefisso '\ xa0' con una r? Questo lo rende una stringa grezza - cioè, letteralmente contiene il backslash, x, a, 0. Senza la r, conteneva un singolo carattere con codice esadecimale a0, che penso sia quello che volevi. –
Perché stavo cercando di indovinare perché ho ricevuto l'errore e so che a volte per forzare il \ per essere letto devi renderlo un letterale stringa e anche il \ xa0 è ciò che effettivamente esiste nella mia fonte. qual è il codice esadecimale a0? – PyNEwbie