Синтаксический XML-файл получает UnicodeEncodeError (ElementTree) / ValueError (lxml)
Я отправляю запрос GETAPI CareerBuilder:
import requests
url = "http://api.careerbuilder.com/v1/jobsearch"
payload = {'DeveloperKey': 'MY_DEVLOPER_KEY',
'JobTitle': 'Biologist'}
r = requests.get(url, params=payload)
xml = r.text
И вернуть XML, который выглядит какэтот, Тем не менее, у меня есть проблемы с анализом.
Используя либоlxml
>>> from lxml import etree
>>> print etree.fromstring(xml)
Traceback (most recent call last):
File "", line 1, in
print etree.fromstring(xml)
File "lxml.etree.pyx", line 2992, in lxml.etree.fromstring (src\lxml\lxml.etree.c:62311)
File "parser.pxi", line 1585, in lxml.etree._parseMemoryDocument (src\lxml\lxml.etree.c:91625)
ValueError: Unicode strings with encoding declaration are not supported.
или жеElementTree:
Traceback (most recent call last):
File "", line 1, in
print ET.fromstring(xml)
File "C:\Python27\lib\xml\etree\ElementTree.py", line 1301, in XML
parser.feed(text)
File "C:\Python27\lib\xml\etree\ElementTree.py", line 1641, in feed
self._parser.Parse(data, 0)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 3717: ordinal not in range(128)
Таким образом, хотя файл XML начинается с
У меня сложилось впечатление, что он содержит символы, которые не допускаются. Как мне разобрать этот файл сlxml
или же ?ElementTree