2
lxmlで解析されたhtmlドキュメントをXPathでクエリしようとしています。この文書は、Plastic in Wikipediaについてのhtml形式のダウンロードのみです。その後、私はlxmlでXPathが失敗する
from lxml import etree
root = etree.parse("plastic.html",etree.XMLParser(resolve_entities=False))
「& REG」でエラーを回避するためにlxmlの無効化実体置換でそれを解析し、私は名前空間URL
今htmltag = root.iter().next()
nsurl = htmltag.nsmap.values()[0]
を取得し、私はどちらかにXPathクエリを使用したいです'root'または 'htmltag'ですが、できません。私はさまざまな方法で試しましたが、次のように私には最も正しい形式があり、とにかくエラーが発生します。
root.xpath('//ns:body',namespace={'ns',nsurl})
は、そして、これは私がIPythonコンソールでコマンドを実行しています
XPathResultError: Unknown return type: dict
を得るものですが、私はそれが問題かもしれないと思います。私は間違って何をしていますか?
'root.xpath( '// ns:body'、namespaces = {'ns':nsurl}) ' – RanRag
もこちらをご覧くださいhttp://stackoverflow.com/questions/4210730/how- do-i-use-xml-namespaces-with-find-find-in-lxml – RanRag