发布网友 发布时间:2022-04-24 17:01
共3个回答
懂视网 时间:2022-04-18 17:41
本篇文章给大家带来的内容是关于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",问题迎刃而解。
热心网友 时间:2022-04-18 14:49
需要准备的材料分别有:电脑、浏览器、html编辑器。
1、首先,打开html编辑器,新建html文件,例如:index.html。
2、在index.html中的<script>标签,输入js代码:
var a = '通过id获取:' + $('#test').html();
var b = '通过标签名获取:' + $('div').html();
$('body').append('<br/>' + a);
$('body').append('<br/>' + b);
3、浏览器运行index.html页面,此时成功通过id和标签名称获取到了节点并打印了节点内容。
热心网友 时间:2022-04-18 16:07
对DOM节点进行操作之前,首先要获取DOM节点。获取DOM节点的方法有很多,可以根据 id属性 、 标签名称 获取。