python中pyquery无法获取标签名的dom节点
前言
作为一位正经的前端开发人员,在学习python的过程中,自然而然选择了pyquery这款解析器,毕竟和前端的jquery一样省去了很多学习的时间。
但是在使用过程中发现一个问题,pyquery竟然无法像jquery一样很方便的去筛选dom节点。
经过一番排查发现:对于class类名,pyquery依然可以方便的获取节点,但是当使用如:a,div,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",问题迎刃而解。
相关推荐
javaraylu 2020-05-05
LodbkMi 2019-12-02
kevinweijc 2013-09-28
realitycss 2018-12-07
huang00 2017-05-27
pdsert 2018-08-04
sschencn 2018-06-26
bigsec 2018-02-03
cling00 2017-08-05
qyf 2016-04-24
lispython 2015-04-25
Python探路者 2014-05-13
pythoncream 2014-01-16
学习编程 2018-03-09