xmltodict: ExpatError: синтаксическая ошибка: строка 1, столбец 0, получение XML из QuickGO

Я нахожусь немного смущенным ошибкой, которую я получаю от следующих

from future.standard_library import install_aliases
install_aliases()
from urllib.request import urlopen
import xmltodict

oboxml = urlopen('http://www.ebi.ac.uk/QuickGO/GTerm?id=GO:0003723&format=oboxml')
obo_dict = oboxml.read()
obo_dict_parse = xmltodict.parse(obo_dict)

который возвращает ошибку:

Traceback ExpatError (последний вызов был последним) в 6 oboxml = urlopen (' http://www.ebi.ac.uk/QuickGO/GTerm?id=GO:0003723&format=oboxml') 7 obo_dict = oboxml.read () - -> 8 obo_dict_parse = xmltodict.parse (obo_dict)

~ / anaconda3 / lib / python3.6 / site-packages / xmltodict.py in parse (xml_input, encoding, expat, process_namespaces, namespace_separator, disable_entities, ** kwargs) 328 parser.ParseFile (xml_input) 329 иначе: -> 330 parser.Parse(xml_input, True) 331 возвращать handler.item 332

ExpatError: синтаксическая ошибка: строка 1, столбец 0

XML-файл возвращается, поэтому он не пустой. Но я не уверен, почему парсер xml был бы несчастлив, особенно, когда я следую за учебным пособием *. Я использую xmltodict 0.11.0-py36_1, установленный и обновленный через anaconda.

Любые указатели высоко ценится

* Следующая записная книжка: goatools https://link.springer.com/protocol/10.1007/978-1-4939-3743-1_16

1 ответ

Из чего я могу собрать:

Quickgo не предоставляет формат XML. Он не указан в качестве типа ответа в их API https://www.ebi.ac.uk/QuickGO/api/index.html.

Я попробовал альтернативный метод извлечения, используя пакет Bioservices и его инструменты QuickGo. Похоже, этот пакет отличается от документации, то есть когда однажды:

term = qgo.Term("GO:0000016", frmt="oboxml")

это больше не делает. Термин был заменен на Условия, и он больше не принимает 'frmt=' или 'format='.

Самое близкое, что я могу сейчас получить:

from bioservices import QuickGO as qgo
qgo = qgo()
term = qgo.Terms("GO:0000016")
print(term, type(term))

который вернет список.

Требуется XML-файл для использования с пакетом goatools. Я отредактирую исходный вопрос, чтобы уточнить это на тот случай, если другие столкнутся с той же проблемой.

Другие вопросы по тегам