python - 是否可以使用 python beautifulsoup 更改 html 元素的父级

标签 python html beautifulsoup

假设我有如下 html:

<div class="question-div"></div>
<div class="answer-div"></div>
<div class="question-div"></div>
<div class="answer-div"></div>
<div class="question-div"></div>
<div class="answer-div"></div>

我想将所有带有 answer-div 类的 div 移动到前面的 question-div 中。我可以用 beautifulsoup 处理吗?

最佳答案

您还可以使用 insert

from bs4 import BeautifulSoup
html="""
<div class="question-div"></div>
<div class="answer-div"></div>
<div class="question-div"></div>
<div class="answer-div"></div>
<div class="question-div"></div>
<div class="answer-div"></div>
"""
soup=BeautifulSoup(html,'html.parser')
for div in soup.findAll('div',{"class":"answer-div"}):
    div.find_previous_sibling('div').insert(0,div)
print(soup)

输出

<div class="question-div"><div class="answer-div"></div></div>

<div class="question-div"><div class="answer-div"></div></div>

<div class="question-div"><div class="answer-div"></div></div>

关于python - 是否可以使用 python beautifulsoup 更改 html 元素的父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54090857/

相关文章:

python - 将上传的 csv 转换为 python 列表

html - Bootstrap,无法将我的图像和文本并排放置在 3 组中

python - 我正在尝试使用 python 请求创建用于网络抓取的 POST 数据

python - 如何抓取后续页面并将输出放入数据框中

python - Beautifulsoup - nextSibling

python - 如何完全从 Windows 中删除 anaconda?

python - Python 3.6.2、Pygame 1.9.3 中的开始菜单错误

python - 有没有办法在 Dask/Distributed 中注册 Jupyter Notebook 进度条小部件而不是文本进度条?

javascript - 测试元素是否可以包含文本

jQuery 可用时间选择器