Я пытаюсь выполнить запрос с помощью XPath html документа, обработанного lxml. Документ представляет собой прямое html-загрузку страницы о Plastic in Wikipedia. Тогда я разобрать его с заменой LXML отключения объекта, чтобы избежать ошибок с «& рег»XPath с lxml failing
from lxml import etree
root = etree.parse("plastic.html",etree.XMLParser(resolve_entities=False))
Затем я получить в пространстве имен URL-адрес
htmltag = root.iter().next()
nsurl = htmltag.nsmap.values()[0]
Теперь я хотел бы использовать XPath запросы на любом «root» или «htmltag», но я не могу этого сделать. Я пробовал разные способы, но мне кажется, что самая правильная форма, которая в любом случае дает ошибки.
root.xpath('//ns:body',namespace={'ns',nsurl})
И это то, что я получаю
XPathResultError: Unknown return type: dict
Я бегу команды в консоли IPython, но я не думаю, что проблема может быть. Что я делаю не так?
Это 'root.xpath ('// ns: body', namespaces = {'ns': nsurl}) ' – RanRag
также смотрите здесь http://stackoverflow.com/questions/4210730/how- делать-и-использование в XML-пространства имен-с-найти-FindAll-в-LXML – RanRag