Форум сайта python.su
Пишу программку для опроса данных о герое через получение xml файла но загвоздка в том что я получаю не понятную кодировку. Долго пытал гугл но он ничего внятного не сказал. Прошу помощи. Код в студию:
# -*- coding: UTF-8 -*-
import re, urllib
username = "Аскард"
username=urllib.quote(username)
adr = "http://godville.net/gods/api/"+username+".xml"
def gett(tag,s):
reg = re.search(r"<"+tag+">.*</"+tag+">",s)
reg=reg.group()
reg=reg[len(tag)+2:len(reg)-len(tag)-3]
return reg
Tag_dict=("name","godname","gender","gold_approx","level","health","max_health","inventory_num","inventory_max_num","motto",\
"clan","quest_progress","exp_progress","godpower","alignment","quest","bricks_cnt","diary_last",\
"town_name","arena_fight")
def getd():
s = urllib.urlopen(adr).read()
for i in range(len(Tag_dict)):
print gett(Tag_dict[i],s)
getd()
Отредактировано (Июнь 28, 2010 07:43:45)
Офлайн
это коды символов в html, штатной ф-ии сейчас не вспомню, вот те регекс
print re.sub(r'&#(\d+);', lambda x:unichr(int(x.groups()[0])), gett(Tag_dict[i],s))
Офлайн
а вообще можно какой-нибудь xml парсер заюзать
Офлайн
o7412369815963Считаю что это слишком жирно для этой задачи
а вообще можно какой-нибудь xml парсер заюзать
Офлайн