Come posso semplicemente rimuovere tutti i tag da un elemento che trovo in BeautifulSoup?Python/BeautifulSoup - come rimuovere tutti i tag da un elemento?
risposta
Supponendo che si desidera mettere a nudo i tag, ma mantenere il contenuto, vedere la risposta accettata a questa domanda: Remove a tag using BeautifulSoup but keep its contents
sembra che questo è il modo per farlo! così semplice come sembra
con questa linea si stanno unendo insieme i tutte le parti di testo all'interno dell'elemento corrente
''.join(htmlelement.find(text=True))
È possibile utilizzare il metodo decompongono in BS4:
soup = bs4.BeautifulSoup('<body><a href="http://example.com/">I linked to <i>example.com</i></a></body>')
for a in soup.find('a').children:
if isinstance(a,bs4.element.Tag):
a.decompose()
print soup
Out: <html><body><a href="http://example.com/">I linked to </a></body></html>
perché non ha una risposta Ho visto qualcosa sul metodo unwrap
? O, ancora più semplice, il get_text
metodo
http://www.crummy.com/software/BeautifulSoup/bs4/doc/#unwrap http://www.crummy.com/software/BeautifulSoup/bs4/doc/#get-text
Con BeautifulStoneSoup
andato in bs4
, è ancora più semplice in python3
from bs4 import BeautifulSoup
soup = BeautifulSoup(html)
text = soup.get_text()
print(text)
Usa get_text(), restituisce tutto il testo in un documento o sotto un tag, come una singola stringa Unicode.
Per esempio, rimuovere tutti i diversi tag di script dal seguente testo:
<td><a href="http://www.irit.fr/SC">Signal et Communication</a>
<br/><a href="http://www.irit.fr/IRT">Ingénierie Réseaux et Télécommunications</a>
</td>
Il risultato atteso è:
Signal et Communication
Ingénierie Réseaux et Télécommunications
Ecco il codice sorgente:
#!/usr/bin/env python3
from bs4 import BeautifulSoup
text = '''
<td><a href="http://www.irit.fr/SC">Signal et Communication</a>
<br/><a href="http://www.irit.fr/IRT">Ingénierie Réseaux et Télécommunications</a>
</td>
'''
soup = BeautifulSoup(text)
print(soup.get_text())
- 1. Come posso rimuovere tutti i tag html da un array?
- 2. Come rimuovere un elemento da un set?
- 3. Come rimuovere un elemento da un IGogruppo
- 4. Ricevi tutti i tag da taggit
- 5. Rimuovere tutti i GMSMarker da GMSMapView?
- 6. Come rimuovere tutti gli ascoltatori in un elemento?
- 7. Android, Come rimuovere tutti i marker da Google Map V2?
- 8. Rimuovere tutti i valore specifico da serie
- 9. In lxml, come faccio a rimuovere un tag ma a conservare tutti i contenuti?
- 10. Recupero tutti i tag da un telecomando con git tirare
- 11. Rimuovere un elemento da un vettore
- 12. Come rimuovere i tag ma di formato posta tag contenitore
- 13. Come posso rimuovere gli attributi da un tag html?
- 14. Jquery: Striscia di tutti i tag HTML specifici da stringa
- 15. rimuovere i tag HTML da stringhe di celle: excel Formula
- 16. utilizzando python, rimuovere i tag HTML/formattazione da una stringa
- 17. Rimuovere tutti i bambini da un nodo XML PHP DOM
- 18. Rimuovere una directory da tutti i precedenti commit
- 19. Come rimuovere un elemento specifico da un JSONArray?
- 20. Come posso rimuovere un elemento da un elenco?
- 21. Come rimuovere jQuery UI ordinabile da un elemento?
- 22. Come rimuovere l'ultimo elemento da una sezione?
- 23. Come rimuovere tutti i cookie scaduti da CookieCollection?
- 24. Come rimuovere tutti i caratteri da una stringa
- 25. Come rimuovere i valori da un QMap?
- 26. Rimuovere tutti, ma il primo elemento di un elenco
- 27. Come rimuovere un tag HTML con PHPQuery?
- 28. rimuovere i tag HTML da stringhe sulla lama laravel
- 29. Rimuovere elemento da JSON oggetto
- 30. Android: come rimuovere un elemento da un listView e arrayAdapter
E ' meglio usare 'get_text()' invece di 'getText()'. – SparkAndShine
Perché è quello? Potrebbe essere il caso, ma sarebbe utile capire perché. –
getText() è la sintassi bs3 e non conforme a pep8. Probabilmente sarà deprecato. –