lxml 解析巨大深嵌套DOM樹的問題

今天客戶反映,咱們的微信爬蟲,有一篇文章的信息不全:問題連接微信

仔細觀察以後,咱們發現,這篇文章是由135微信編輯器生成的,正文內容的DOM樹很是深,有幾百層。編輯器

使用 lxml.etree.HTML(text).xp(xpath)進行解析的時候,若是DOM樹過深,就解析會提早停止。ui

在build etree時,調用的是lxml.etree.XMLParser 類,而XMLParser接收 huge_tree=True的參數,容許解析巨大DOM樹,而etree.HTML又接收自定義Parser,因此上述代碼修改成:xml

lxml.etree.HTML(text, lxml.etree.XMLParser(huge_tree=True)).xp(xpath)以後,就能夠順利解析了。get

相關文章
相關標籤/搜索