Supprimer / remplacer des éléments spécifiques de la source HTML [Beautiful Soup]

Comment supprimer ou remplacer des éléments qui répondent à certains critères dans le scraping HTML

(* Par exemple, je souhaite ignorer tous les liens, ignorer les graphiques, etc.)

Utilisez les fonctions .extract () et .replace_with () dans Python BeautifulSoup.

from bs4 import BeautifulSoup

txt = """<p>I have a dog.  His name is <span class="secret">Ken</span>.</p>"""
soup = BeautifulSoup(txt)

# This keeps "unwanted" information
soup.get_text()
#: u'I have a dog.  His name is Ken.'


# remove an element by tag matching 
soup.find("span", {"class":"secret"}).extract()
soup.get_text()
#: u'I have a dog.  His name is .'


# or you can replace that with something
soup = BeautifulSoup(txt)
soup.find("span", {"class":"secret"}).replace_with("confidential")
soup.get_text()
#: u'I have a dog.  His name is confidential.'

Recommended Posts

Supprimer / remplacer des éléments spécifiques de la source HTML [Beautiful Soup]
[Python] Un mémorandum de belle soupe4
Supprimez les balises HTML indésirables avec Beautiful Soup
Belle soupe
Méthodes fréquemment utilisées de sélénium et de belle soupe