假设我有一个类似以下的html:
CompletableFuture
我想将所有<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>
类divs
移到前一个answer-div
中。我可以用beautifulsoup处理它吗?
答案 0 :(得分:0)
没有beautifulsoup
的动手经验,但我会尝试一下!
我的看法是,您分别找到所有div's
和question
的{{1}}。
answer
,然后遍历div_ques_Blocks = soup.find_all('div', class_="question-div")
div_ans_Blocks = soup.find_all('div', class_="answer-div")
以插入/附加question-div
answer-div
如果上面的for divtag in div_ans_Blocks :
print divtag.find_previous_sibling('div')
语句为您提供了全部print
,则可以尝试附加它们而不是使用maybe like this?
答案 1 :(得分:0)
您也可以使用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>