Использование Python 3
Ошибка, которую мы получаем:
File "C:/scratch.py", line 27, in run
tree = ET.fromstring(responses[0].decode(), ET.XMLParser(encoding='utf-8'))
File "C:\Programs\Python\Python36-32\lib\xml\etree\ElementTree.py", line 1314, in XML
parser.feed(text)
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 163, column 1106
Наш код:
tree = ET.fromstring(responses[0].decode(), ET.XMLParser(encoding='utf-8'))
for i in tree.iter('item'):
try:
title = i.find('title').text
except Exception:
pass
Ответы [0] взяты из списка возвращаемых запросов на получение URL-адресов, но в этом случае индекса 0 тестируется по одному конкретному URL-адресу: http://feeds.feedburner.com/marginalrevolution/feed
Мы смогли подключить код XML к валидатору W3 School и получили:
This page contains the following errors:
error on line 163 at column 31: Input is not in proper UTF-8, indicate encoding! Bytes: 0x0C 0x66 0x69 0x67
Но со свойством ET.XMLParser(encoding='utf-8')
разве это не исправит ошибку при разборе?