Я более чем устал, но здесь идет:
Я делаю просмотр HTML-кода в Python 2.6.5 с BeautifulSoap на Ubuntubox
Причина для Python 2.6.5: BeautifulSoap отстой под 3.1
Я пытаюсь запустить следующий код:
# 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))
Теперь из-за знаков ± я получаю следующую ошибку при попытке интерпретировать код:
python code.py
Traceback (последний вызов был последним):
Файл "detherm-wtest.py", строка 25, в
если col2.index ('±'):
UnicodeDecodeError: кодек «ascii» не может декодировать байт 0xc2 в позиции 0: порядковый номер не в диапазоне (128)
Как мне решить это? если положить u, получим: '±' -> u '±':
Traceback (последний вызов был последним):
Файл "detherm-wtest.py", строка 25, в
если col2.index (u '±'):
ValueError: подстрока не найдена
текущая кодировка файла кодировки utf-8
спасибо