Soucis avec les accents et urlopen()
Résolu/Fermé
Hakunamatatáaa
Messages postés
11
Date d'inscription
mercredi 9 octobre 2013
Statut
Membre
Dernière intervention
5 décembre 2015
-
5 déc. 2015 à 09:29
Hakunamatatáaa Messages postés 11 Date d'inscription mercredi 9 octobre 2013 Statut Membre Dernière intervention 5 décembre 2015 - 5 déc. 2015 à 18:55
Hakunamatatáaa Messages postés 11 Date d'inscription mercredi 9 octobre 2013 Statut Membre Dernière intervention 5 décembre 2015 - 5 déc. 2015 à 18:55
A voir également:
- Soucis avec les accents et urlopen()
- E avec accent - Guide
- Comment mettre les accents dans les sms - Forum Samsung
- Police d'écriture avec accent ✓ - Forum Bureautique
- Pourquoi les accents circonflexes disparaissent dans mes messages ✓ - Forum Réseaux sociaux
- U avec accent clavier - Forum Windows
3 réponses
nidhogg-59
Messages postés
102
Date d'inscription
mercredi 20 juin 2012
Statut
Membre
Dernière intervention
5 décembre 2015
27
5 déc. 2015 à 11:03
5 déc. 2015 à 11:03
Bonjour,
si j'ai bien compris ton problème, tu peux utiliser la bibliothèque HTMLParser pour transformer les HTMLEntities comme "& egrave;" en "è":
Bonne journée!
si j'ai bien compris ton problème, tu peux utiliser la bibliothèque HTMLParser pour transformer les HTMLEntities comme "& egrave;" en "è":
from HTMLParser import HTMLParser # ton code ici text = HTMLParser().unescape (content) print text
Bonne journée!
Hakunamatatáaa
Messages postés
11
Date d'inscription
mercredi 9 octobre 2013
Statut
Membre
Dernière intervention
5 décembre 2015
Modifié par Hakunamatatáaa le 5/12/2015 à 13:59
Modifié par Hakunamatatáaa le 5/12/2015 à 13:59
Merci pour ta réponse nidhogg :) hélas j'obtiens une erreur :(
Je ne sais pas si je me suis bien exprimé mais en gros quand je print content voila un exemple de ce que ça m'affiche :
et évidement je voudrais avoir les "é" "è" au lieu de ces "▒" que je ne sait même pas a quoi ça correspond c'est peut être juste le symbole quand y ne sait pas.
Bien à vous,
Hakunamatatáaa.
File "/home/pi/meteo.py", line 7, in meteo
text = HTMLParser().unescape (content)
File "/usr/lib/python2.7/HTMLParser.py", line 472, in unescape
return re.sub(r"&(#?[xX]?(?:[0-9a-fA-F]+|\w{1,8}));", replaceEntities, s)
File "/usr/lib/python2.7/re.py", line 151, in sub
return _compile(pattern, flags).sub(repl, string, count)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 233: ordinal not in range(128)
Je ne sais pas si je me suis bien exprimé mais en gros quand je print content voila un exemple de ce que ça m'affiche :
<title>M▒t▒o gratuite Waterloo - Pr▒visions ▒ 7 jours pour ......
et évidement je voudrais avoir les "é" "è" au lieu de ces "▒" que je ne sait même pas a quoi ça correspond c'est peut être juste le symbole quand y ne sait pas.
Bien à vous,
Hakunamatatáaa.
Hakunamatatáaa
Messages postés
11
Date d'inscription
mercredi 9 octobre 2013
Statut
Membre
Dernière intervention
5 décembre 2015
5 déc. 2015 à 18:55
5 déc. 2015 à 18:55
Bon finalement j'ai trouvé sur ce site http://sametmax.com/lencoding-en-python-une-bonne-fois-pour-toute/
Si vous lisez une page HTML, l’encoding est souvent déclaré dans la balise META ou dans un header.
Et une fois que vous l’avez, il faut décoder le texte reçu.
La manière la plus simple de faire cela est :
votre_chaine = votre_chaine.decode('nom_du_codec')
et ça fonctionne niquel :)
Si vous lisez une page HTML, l’encoding est souvent déclaré dans la balise META ou dans un header.
Et une fois que vous l’avez, il faut décoder le texte reçu.
La manière la plus simple de faire cela est :
votre_chaine = votre_chaine.decode('nom_du_codec')
et ça fonctionne niquel :)