今天客户反映,咱们的微信爬虫,有一篇文章的信息不全:问题连接微信
仔细观察以后,咱们发现,这篇文章是由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