Я запускаю фляжное приложение с python, часть которого использует XML-данные, полученные из стороннего API. Я использую minidom для анализа XML в скрипте Python.
Соответствующий код Python:
from xml.dom import minidom
import requests
usa_xml = requests.get(URL_HERE)
usa_parsed = minidom.parseString(usa_xml.content)
Сценарий продолжает находить и отображать значения из XML. Запустив скрипт python на моей локальной машине, все работает как надо. После размещения репозитория на pythonanywhere синтаксический анализ с теми же XML-данными завершается неудачно.
Отслеживание ошибки:
Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-packages/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python3.4/dist-packages/flask/app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python3.4/dist-packages/flask/app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python3.4/dist-packages/flask/_compat.py", line 33, in reraise
raise value
File "/usr/local/lib/python3.4/dist-packages/flask/app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python3.4/dist-packages/flask/app.py", line 1461, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/jshorty/OwlWire/owlwire.py", line 65, in select
usa_parsed = minidom.parseString(usa_xml.content)
File "/usr/lib/python3.4/xml/dom/minidom.py", line 1970, in parseString
return expatbuilder.parseString(string)
File "/usr/lib/python3.4/xml/dom/expatbuilder.py", line 925, in parseString
return builder.parseString(string)
File "/usr/lib/python3.4/xml/dom/expatbuilder.py", line 223, in parseString
parser.Parse(string, True)
xml.parsers.expat.ExpatError: no element found: line 29, column 7
Поскольку он не работает с тем же XML, который работал бы в противном случае, не похоже, что это проблема с самим XML. Я не знаю, с чего начать поиск проблемы - я использую все модули по умолчанию, предварительно установленные на python, где угодно, может ли это быть проблемой разных версий minidom?
Ошибка всегда возникает в строке 29, столбце 7, поэтому вот ссылка на один экземпляр XML, к которому я обращаюсь: http://ebird.org/ws1.1/data/obs/region_spp/recent?rtype=country&r=US&sci=surnia%20ulula&back=30&maxResults=1&includeProvisional=true
C:\Users\Jake>pip freeze Flask==0.10.1 Flask-SQLAlchemy==1.0 Jinja2==2.7.2 MarkupSafe==0.23 SQLAlchemy==0.9.4 Werkzeug==0.9.4 itsdangerous==0.24 requests==2.3.0 virtualenv==1.11.6
- person Jake Shorty   schedule 07.07.2014