Home > Enterprise >  remove excessive div from html python
remove excessive div from html python

Time:06-15

I have exmaple of HTML:

<br><div><h3>Rozszerzony opis</h3><br><div><div><div><div><img alt="" src="https://emos.eu/FOTO-PC/RGB72_400x400/1525733234_E17-ZQ5140W.JPG"/></div><br></div><div><br><div><h3>Ściemnialna żarówka LED EMOS</h3><br><p>Nasza <strong>ściemnialna żarówka LED EMOS </strong>gwarantuje stworzenie przyjemnej atmosfery w zaciszu Twojego domu.  Dzięki ściemniaczowi żarówka będzie zawsze świecić zgodnie z Twoimi życzeniami. Chcesz cieszyć się filmem z rodziną <strong>przy przyciemnionym świetle</strong> lub potrzebujesz <strong>pełnej mocy </strong>do pracy? To zależy od ciebie. <strong>Jesteś teraz mistrzem oświetlenia domowego. </strong></p></div></div></div></div><br><div> </div><br><div><div><div><div><img alt="" src="https://emos.eu/FOTO-PC/RGB72_400x400/1525733234_P40-ZQ5140W.JPG"/></div><br></div><div><br><div><h3>To od ciebie zależy, jakiej chcesz mocy.</h3><br><p>Na pierwszy rzut oka nie widać różnicy w porównaniu z tradycyjną żarówką LED, a jednak <strong>potrafi ona o wiele więcej</strong>. Dzięki 3-stopniowemu ściemnianiu w <strong>ciepłych kolorach </strong>za<strong> </strong>każdym razem zapewni Ci idealną ilość światła. W przeciwieństwie do innych żarówek, <strong>nie trzeba do niej kupować ściemniacza. Intensywność światła </strong>można łatwo regulować za pomocą klasycznego przełącznika - poprzez wielokrotne włączanie i wyłączanie żarówki.</p></div></div></div></div><br><div> </div><br><div><div><div><div><br><h3>Właściwe światło dla Twojego domu</h3><br><div><div><p>Dzięki doskonałej <strong>żywotności wynoszącej około 30 000 godzin, </strong>żarówka ta jest doskonałym rozwiązaniem dla wymagających użytkowników. Zapewnia przyciemnione oświetlenie o strumieniu świetlnym <strong>806 lm. </strong>Dzięki temu jest przeznaczona do stworzenia odpowiedniego nastroju w salonie lub sypialni. Posiada gwint <strong>E27</strong>, dzięki któremu można ją wkręcić do większości opraw oświetleniowych w domu. W połączeniu z typowym kształtem żarówki (A60) wypełnia każde pomieszczenie przyjemnym, ciepłym światłem pod kątem <strong>250°.</strong></p></div></div><br></div></div></div></div><br><div> </div><br><div><div><div><div><img alt="" src="https://emos.eu/FOTO-PC/RGB72_850x850/1525733234_E88-ZQ5140W.JPG"/></div></div></div><br></div><div> </div><br></div> 

As you see, there is really much ... which is unnecessary. How to get rid of this?

CodePudding user response:

In general you could go with unwrap(), to get a more specific solution, it needs improvment of your question:

for d in soup.find_all('div'):
    d.unwrap()
Example
from bs4 import BeautifulSoup

html='''
<br><div><h3>Rozszerzony opis</h3><br><div><div><div><div><img alt="" src="https://emos.eu/FOTO-PC/RGB72_400x400/1525733234_E17-ZQ5140W.JPG"/></div><br></div><div><br><div><h3>Ściemnialna żarówka LED EMOS</h3><br><p>Nasza <strong>ściemnialna żarówka LED EMOS </strong>gwarantuje stworzenie przyjemnej atmosfery w zaciszu Twojego domu.  Dzięki ściemniaczowi żarówka będzie zawsze świecić zgodnie z Twoimi życzeniami. Chcesz cieszyć się filmem z rodziną <strong>przy przyciemnionym świetle</strong> lub potrzebujesz <strong>pełnej mocy </strong>do pracy? To zależy od ciebie. <strong>Jesteś teraz mistrzem oświetlenia domowego. </strong></p></div></div></div></div><br><div> </div><br><div><div><div><div><img alt="" src="https://emos.eu/FOTO-PC/RGB72_400x400/1525733234_P40-ZQ5140W.JPG"/></div><br></div><div><br><div><h3>To od ciebie zależy, jakiej chcesz mocy.</h3><br><p>Na pierwszy rzut oka nie widać różnicy w porównaniu z tradycyjną żarówką LED, a jednak <strong>potrafi ona o wiele więcej</strong>. Dzięki 3-stopniowemu ściemnianiu w <strong>ciepłych kolorach </strong>za<strong> </strong>każdym razem zapewni Ci idealną ilość światła. W przeciwieństwie do innych żarówek, <strong>nie trzeba do niej kupować ściemniacza. Intensywność światła </strong>można łatwo regulować za pomocą klasycznego przełącznika - poprzez wielokrotne włączanie i wyłączanie żarówki.</p></div></div></div></div><br><div> </div><br><div><div><div><div><br><h3>Właściwe światło dla Twojego domu</h3><br><div><div><p>Dzięki doskonałej <strong>żywotności wynoszącej około 30 000 godzin, </strong>żarówka ta jest doskonałym rozwiązaniem dla wymagających użytkowników. Zapewnia przyciemnione oświetlenie o strumieniu świetlnym <strong>806 lm. </strong>Dzięki temu jest przeznaczona do stworzenia odpowiedniego nastroju w salonie lub sypialni. Posiada gwint <strong>E27</strong>, dzięki któremu można ją wkręcić do większości opraw oświetleniowych w domu. W połączeniu z typowym kształtem żarówki (A60) wypełnia każde pomieszczenie przyjemnym, ciepłym światłem pod kątem <strong>250°.</strong></p></div></div><br></div></div></div></div><br><div> </div><br><div><div><div><div><img alt="" src="https://emos.eu/FOTO-PC/RGB72_850x850/1525733234_E88-ZQ5140W.JPG"/></div></div></div><br></div><div> </div><br></div> 
'''

soup = BeautifulSoup(html, 'html.parser')

for d in soup.find_all('div'):
    d.unwrap()
soup

CodePudding user response:

First write the HTML code without any br's or div's tags, and write the code line by line. Then it will be possible to understand the code. There are huge amounts of br's and div's that can't be possibly necessary. Start with:

<h3>Rozszerzony opis</h3>
<img alt="" src="https://emos.eu/FOTO-PC/RGB72_400x400/1525733234_E17-ZQ5140W.JPG" />
  • Related