在学习xpath()的过程中,除了学习xpath的基本语法外,我们最先遇到的往往是文档的格式化问题!因为只有正确格式化之后的文档,才能准确利用xpath寻找其中的关键信息。
对于文档格式化的问题,可能不同的人,会遇到不一样的情况,但是基本上只要搞懂了lxml.etree.HTML(),lxml.etree.fromstring()和lxml.etree.tostring()这三者之间的区别和联系,那么文档格式化这一步一定不会有问题!
【看表格,附解读】
文档格式化方法 | 类型type | 根节点 | 编码方式 | xpath |
---|---|---|---|---|
etree.HTML() | <class ‘lxml.etree._Element’> | html | (X.encode(‘utf-8’)) | 支持 |
etree.fromstring() | <class ‘lxml.etree._Element’> | 原文档根节点 | (X.encode(‘utf-8’)) | 支持 |
etree.tostring() | <class ‘bytes’> | 无 | 无 | 不支持 |
表格解读:
1.从三者的类型上可以看到,etree.HTML()和etree.fromstring()都是属于同一种“class类”,这个类型才会支持使用xpath。也就说etree.tostring()是“字节bytes类”,不能使用xpath&#x