继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

慕圣7176628
关注TA
已关注
手记 10
粉丝 2
获赞 8

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

https://img1.mukewang.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


打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP