欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

pyquery解析器无法获取标签名dom节点的解决方法

程序员文章站 2022-04-16 23:18:20
...
本篇文章给大家带来的内容是关于pyquery解析器无法获取标签名dom节点的解决方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

作为一位正经的前端开发人员,在学习python的过程中,自然而然选择了pyquery这款解析器,毕竟和前端的jquery一样省去了很多学习的时间。
但是在使用过程中发现一个问题,pyquery竟然无法像jquery一样很方便的去筛选dom节点。
经过一番排查发现:对于class类名,pyquery依然可以方便的获取节点,但是当使用如:a,p,img...等原生标签时,无论如何都获取不到节点。
一度让我很奔溃...

罪魁祸首

<div xmlns="http://www.w3.org/1999/xhtml" class="image-item-inner" style="width: 398px; height: 598px;"><img src="http://p3.pstatp.com/origin/3f240001a4f84996876d"
    data-src="http://p3.pstatp.com/origin/3f240001a4f84996876d" alt="" /> <a href="http://p3.pstatp.com/origin/3f240001a4f84996876d"
    title="查看原图" target="_blank" ga_event="view_original_photo" class="image-origin"><i class="bui-icon icon-enlarge"
      style="font-size: 14px; color: rgb(255, 255, 255);" /></a></div>

其实问题就出在xmlns="http://www.w3.org/1999/xhtml"这里,pyquery默认解析后的文档是xmlns格式,而这种格式就是造成无法获取原生标签的原因。

 doc = pq(browser.page_source,parser="html")

解决方法就是在解析时配置parser="html",问题迎刃而解。

以上就是pyquery解析器无法获取标签名dom节点的解决方法的详细内容,更多请关注其它相关文章!

相关标签: pyquery python