Однако я нашел много ответов здесь, к сожалению, они не работают для меня.Python 3 XML parser unkown entity error
У меня Ubuntu x64, python 3.4.2.
Я разборе веб-страницы с HTML сущностей, как
среди прочего:
import xml.etree.ElementTree as ET
page = 'some string I get from requests.get'
parser = ET.XMLParser()
parser.parser.UseForeignDTD(True)
tree = ET.fromstring(page, parser=parser)
Много ответов содержат этот код, чтобы предотвратить ошибки, как unknown entity &nbps;
. В то время как я скомпилировать этот код он выдает ошибку:
AttributeError: 'xml.etree.ElementTree.XMLParser' object has no attribute 'parser'
или
AttributeError: 'xml.etree.ElementTree.XMLParser' object has no attribute '_parser'
(depdends на то, что член parser
объекта я написал в 4-й строке в коде выше). Магия, когда я пытаюсь идти к этому коду из PyCharm
IDE он показывает мне, что этот член существует и успешно создает в конструкторе класса:
# underscored names are provided for compatibility only
self.parser = self._parser = parser
self.target = self._target = target
Мои вопросы:
- Почему этот Работа ?
- Можно ли не добавлять каждый объект вручную, чтобы предотвратить ошибки синтаксического анализа?