Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Парсинг новостей из xml на Python

Василий Москвин Ученик (139), на голосовании 11 лет назад
Есть вот такой код:
'''

import urllib.request,xml.etree.ElementTree

rss=open('rss.xml','w')

a=str(urllib.request.urlopen('http://4pda.ru/feed/').readline())

rss.write(a[2:len(a)-1])

rss.close()

tree=xml.etree.ElementTree.parse('rss.xml')

news=tree.getroot()

g=0

print(news[0][9][0].text)

'''

Это ̶к̶р̶и̶в̶о̶ ̶н̶а̶п̶и̶с̶а̶н̶н̶ы̶й̶ неоптимизированный код, который возвращает мне заголовок первой новости на сайте 4pda ru. Вообщем всё работает (Python 3.3.4), но возвращает на что-то вроде '''\xce\xe1\xed\xee\xe2\xeb\xe5\xed\xe8\xe5 Angry Birds Go \xef\xf0\xe8\xed\xe5\xf1\xeb\xee \xed\xee\xe2\xfb\xe5 \xf2\xf0\xe0\xf1\xf1\xfb \xe8 \xe5\xe6\xe5\xed\xe5\xe4\xe5\xeb\xfc\xed\xfb\xe5 \xf2\xf3\xf0\xed\xe8\xf0\xfb''' и к тому же почему то не обновляет xml файл который я скачиваю (новости уже поменялись, на сайте xml-файл обновился, но у меня всё равно старый) . Собственно просьба помочь со странными символами (кодировка, или х. з. что это) и если можно объяснить почему не обновляет файл. Заранее спасибо!
Дополнен 11 лет назад
строка ж=0 не нужна, просто забыл удалить
Дополнен 11 лет назад
Всё нашёл, когда я беру иксмл из сайта при помощи урлопен (чёртов майл почему нельзя латиницу??? ) он возвращет байты, а я их гнал в строку.
Голосование за лучший ответ
Андрей Власов Оракул (54477) 11 лет назад
Очень похоже на кодировку CP1251
ttt='Какая-то байда в непонятной кодировке'
print ttt.decode('cp1251')
Похожие вопросы