使用BeautifulSoup4更改html的结构

时间:2019-04-26 17:05:12

标签: python html beautifulsoup

我有一个HTML结构:

<a name='data'></a>
<div class='c0'>...</div>
<div class='c4'>...</div>

<a name='data'></a>
<div class='c0'>...</div>
<div class='c4'>...</div>

我想更改结构如下

<a name='data'>
  <div class='c0'>...</div>
  <div class='c4'>...</div>
</a>

<a name='data'>
  <div class='c0'>...</div>
  <div class='c4'>...</div>
</a>

我试图做一些改变,但是这给了我错误的结构。我该怎么做?感谢任何帮助

from bs4 import BeautifulSoup


html = open("AAN.HTML").read()
soup = BeautifulSoup(html, 'html.parser')

for item in soup.findAll(['a', 'div']):
    if item.name == 'a':
        text = item
    if item.name == 'div':
        a.insert(len(a.contents), item)

my_html = str(soup)
print(my_html)

1 个答案:

答案 0 :(得分:0)

遇到<a>时,请设置变量a = item。 对于先前设置为<div>的{​​{1}}变量a

a.append(item)