Изменение структуры HTML с BeautifulSoup4 - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть 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 голосов
/ 26 апреля 2019

Когда вы встретите <a>, тогда установите переменную a = item.Для <div>, за которым следует переменная a, которая была ранее установлена ​​a.append(item)

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':
        a = item
    if item.name == 'div':
        a.append(item)

my_html = str(soup.prettify())
print(my_html)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...