美文网首页
2019-05-07

2019-05-07

作者: 沙漏如心 | 来源:发表于2019-05-08 15:17 被阅读0次

    2019-05-07随笔,今天又又又遇到了一个比较奇葩得问题。

      是关于python得xpath工具lxml得。 众所周知lxml集成了xpath,于是成为了众多python爬虫无望而不利得超级利器! 

     而今天这个呢,就是一个lxml得一个bug! 如果不是亲自遇到了我都不会想到,lxml会出现这么个低级错误!

    自己所写的使用lxml进行解析的代码

    上面呢,没啥好说的就是一个简单页面,解析,接下来,是重头戏!

    这个是etree.HTML(str) 之后的页面内容! 这个是str的内容

       认真看,发现什么了没 ? 

       没错,两者不一样? 

    在这里,我特意将两个都拉出来作为对比

    可以看到, 经过lxml转化之后,页面,少了一部分! 

    而在查阅众多博客尝试众多方法之后,发现只有如下理论才是真正正确的,并且是可以解决这个问题的。

    那就是 页面被 unicode 编码格式的 空格,给隔断了! 在这里,只需要 str.replace("\u0000","") 将这部分替换掉,就可以正常执行了,页面内容也不会缺失了!

      另外还有一个小bug. 

    如图,这个xpath 是可以查询到数据的 而这个就查不到了

      众所周知,class 属性是一个 html 中 一个非全局唯一性的属性! 也就是说,这个可以出现多个,多次。 而 lxml 在是用class查询的时候,如果需要将他们全部class 属性都添加上去的话? 恐怕? 不太好吧! 

        这边呢,就是我在7号,写东西发现的全部的内容了! 

       欢迎各位大佬积极拍砖!

    相关文章

      网友评论

          本文标题:2019-05-07

          本文链接:https://www.haomeiwen.com/subject/xygmoqtx.html