Je suis plus un peu fatigué, mais voilà:utilisation de caractères spéciaux dans Python 2.6
Je fais tome HTML grattage en python 2.6.5 avec BeautifulSoap sur un ubuntubox
Motif de python 2.6. 5: BeautifulSoap suce sous 3.1
je tente d'exécuter le code suivant:
# dataretriveal from html files from DETHERM
# -*- coding: utf-8 -*-
import sys,os,re,csv
from BeautifulSoup import BeautifulSoup
sys.path.insert(0, os.getcwd())
raw_data = open('download.php.html','r')
soup = BeautifulSoup(raw_data)
for numdiv in soup.findAll('div', {"id" : "sec"}):
currenttable = numdiv.find('table',{"class" : "data"})
if currenttable:
numrow=0
numcol=0
data_list=[]
for row in currenttable.findAll('td', {"class" : "dataHead"}):
numrow=numrow+1
for ncol in currenttable.findAll('th', {"class" : "dataHead"}):
numcol=numcol+1
for col in currenttable.findAll('td'):
col2 = ''.join(col.findAll(text=True))
if col2.index('±'):
col2=col2[:col2.index('±')]
print(col2.encode("utf-8"))
ref=numdiv.find('a')
niceref=''.join(ref.findAll(text=True))
maintenant, en raison des signes ± i l'erreur suivante lorsque vous essayez de interprent le code wi th:
python code.py
retraçage (appel le plus récent en dernier): Fichier "detherm-wtest.py", ligne 25, dans si col2.index ('±'): UnicodeDecodeError: codec 'ascii' ne peut pas décoder octet 0xc2 en position 0: ordinal pas dans la plage (128)
Comment puis-je résoudre ce problème? mettre u en sorte que nous avons: '±' -> u résultats '±' dans:
retraçage (appel le plus récent en dernier): Fichier "detherm-wtest.py", ligne 25, dans si col2. index (u '±'): ValueError: sousChaîne pas trouvé
encodage du fichier de code actuelest utf-8
merci
http://www.cmlenz.net/archives/2008/07/the-truth-about-unicode-in-python pour commencer –