Это вставит тег <br>
после конца каждого элемента <a>...</a>
:
from BeautifulSoup import BeautifulSoup, Tag
# ....
soup = BeautifulSoup(data)
for a in soup.findAll('a'):
a.parent.insert(a.parent.index(a)+1, Tag(soup, 'br'))
Вы не можете использовать soup.findAll(tag = '</a>')
, потому что BeautifulSoup не работает с конечными тегами отдельно - они считаются частью одного и того же элемента.
Если вы хотите поместить элементы <a>
в элемент <p>
, как вы просите в комментарии, вы можете использовать это:
for a in soup.findAll('a'):
p = Tag(soup, 'p') #create a P element
a.replaceWith(p) #Put it where the A element is
p.insert(0, a) #put the A element inside the P (between <p> and </p>)
Опять же, вы не создаете <p>
и </p>
по отдельности, потому что они являются частью одного и того же.