BeautifulSoup的append()方法会导致后续find()方法失效。
创始人
2024-11-27 12:00:19
0

在使用append()方法时,应该使用copy()方法复制一份BeautifulSoup对象,并对复制的对象进行append操作。代码示例如下:

from bs4 import BeautifulSoup

html = """

    
      

Paragraph 1

Paragraph 2

""" soup = BeautifulSoup(html, 'html.parser') div1 = soup.find('div', {'id': 'div-1'}) # 找到id为div-1的div标签 p1 = soup.new_tag('p') # 创建一个新的p标签 p1.string = 'Paragraph 3' # 设置p标签的文本 div1.append(p1) # 将新的p标签加入到id为div-1的div标签中 # 错误的方式:在原BeautifulSoup对象上调用find()方法 div2 = soup.find('div', {'id': 'div-2'}) # 报错,无法找到id为div-2的div标签 # 正确的方式:复制一个BeautifulSoup对象并对复制的对象进行操作 new_soup = BeautifulSoup(str(soup), 'html.parser') div2 = new_soup.find('div', {'id': 'div-2'}) # 在复制的对象上找到id为div-2的div标签 print(div1) print(div2)

输出结果如下:

Paragraph 1

Paragraph 3

Paragraph 2

相关内容

热门资讯

7分钟攻略!来玩德州app辅助... 自定义来玩德州app系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管你...
重要通知!wpk稳定外挂透明挂... 大家肯定在之前wepoke app或者wepoke app中玩过重要通知!wpk稳定外挂透明挂辅助a...
透视app!德州alphax辅... 透视app!德州alphax辅助!原来是真的有挂((2025已更新))(哔哩哔哩)关于德州alpha...
3分钟科普!德州ai辅助app... 1、3分钟科普!德州ai辅助app(辅助挂)软件透明挂((2024已更新))(哔哩哔哩);该软件可以...
4分钟了解!微扑克有没有辅助!... 微扑克透视辅助版本解析‌,4分钟了解!微扑克有没有辅助!果真真的有挂((2022已更新))(哔哩哔哩...
最新技巧!微扑克技术外挂透视辅... 最新技巧!微扑克技术外挂透视辅助软件,pokernow开挂,详细教程(有挂详情)-哔哩哔哩关于微扑克...
九分钟了解!wopoker辅助... 九分钟了解!wopoker辅助器ios(辅助挂)辅助透视((2023已更新))(哔哩哔哩);小薇(透...
大神推荐!哈糖大菠萝有辅助吗!... 大神推荐!哈糖大菠萝有辅助吗!的确是真的有挂((2021已更新))(哔哩哔哩);哈糖大菠萝软件透明挂...
5分钟科普!鱼扑克软件辅助(辅... 自定义鱼扑克软件系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管你是想...
透明总结!wepoke真的有挂... 透明总结!wepoke真的有挂嘛!竟然真的有挂((2020已更新))(哔哩哔哩)需要回顾用户提供的搜...