BeautifulSoup如何在body标签顶部而非底部插入自定义元素?
问题解决方法
你之前使用的
soup.html.append(cover)存在两个问题:
- 操作的父级对象是
<html>标签而非目标<body>标签append()方法的默认逻辑是将元素插入到父级标签的所有子元素末尾,自然会出现在页面底部
正确实现方法
BeautifulSoup提供了两种常用的在父元素开头插入节点的方式:
方法1:使用prepend()方法(推荐,BeautifulSoup 4.0.1+版本支持)
prepend()的作用就是直接将元素插入到父元素的第一个子节点位置,代码示例:
# 先获取body标签对象 body = soup.body # 直接在body开头插入cover元素 body.prepend(cover)
方法2:使用insert()方法指定插入位置
insert()方法的第一个参数为插入的索引位置(从0开始计数),填0即可插入到最开头:
body = soup.body # 索引0对应body开标签后的第一个位置 body.insert(0, cover)
内容的提问来源于stack exchange,提问作者Ian
相关产品推荐
相关产品推荐

