为了账号安全,请及时绑定邮箱和手机立即绑定

Python爬虫解析html:设置节点的inner html

标签:
Python

继上一篇写的lxml的HtmlElement对象获取,本篇接着一上篇跟大家分享一下如何设置节点的inner html。

https://img1.sycdn.imooc.com//5c4816cd000128cc05510340.jpg

文章不长,几几钟就可以看完,主要还是要多练习。

在这里我会将我之后的学习笔记都整理上来,喜欢的可以关注我哦。

设置inner html相较于获取更复杂一些,我们还是以上面那段html代码为例:

<div class=”text”>这是div<a href=”/node”>节点</a>内容</div>

假设我们要把它的inner html 改成如下字符串:

this is div<a href=”/node”>node</a>text

则操作步骤是:

  1.  清空节点div里面的内容:包括它的text和子节点

  2.  把新的inner html转变成fragments

  3.  把fragments加到清空后的div节点

把以上步骤写出Python函数就是:

def set_inner_html(node, html):
    node.text = ''
    for child in node.getchildren():
        node.remove(child)                                                                                                                                           4     
    fragments = lxml.html.fragments_fromstring(html)    if type(fragments[0]) == str:
        node.text = fragments.pop(0)
    node.extend(fragments)

通过以上函数就可以成功把node里面的内容设置成想要的html内容,适合在动态修改网页结构内容时使用。

本笔记整理来源于猿人学python


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消