Jak mogę po prostu usunąć wszystkie tagi z elementu, który znajduję w BeautifulSoup?Python/BeautifulSoup - jak usunąć wszystkie tagi z elementu?
Odpowiedz
Zakładając, że chce się rozebrać tagi, ale zachować zawartość, zobacz zaakceptowane odpowiedź na to pytanie: Remove a tag using BeautifulSoup but keep its contents
wygląda w ten sposób, aby zrobić! takie proste
z tej linii, którą łączą ze sobą wszystkie części tekstu w bieżącym elemencie
''.join(htmlelement.find(text=True))
Można użyć metody rozkładać w 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>
dlaczego nie ma odpowiedzi Widziałem, jak wspominałem o metodzie unwrap
? Lub, jeszcze łatwiej, metoda
http://www.crummy.com/software/BeautifulSoup/bs4/doc/#unwrap http://www.crummy.com/software/BeautifulSoup/bs4/doc/#get-text
Z BeautifulStoneSoup
poszedł w bs4
get_text
, to jeszcze prostsze w Python3
from bs4 import BeautifulSoup
soup = BeautifulSoup(html)
text = soup.get_text()
print(text)
użytkowania get_text(), zwraca cały tekst w dokumencie lub pod tag, jako pojedynczy ciąg znaków Unicode.
Na przykład, usuń wszystkie inne znaczniki skryptów z następującym tekstem:
<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>
Oczekiwany wynik to:
Signal et Communication
Ingénierie Réseaux et Télécommunications
Oto kod źródłowy:
#!/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. Jak usunąć wszystkie tagi komentarzy z XmlDocument
- 2. Jak usunąć wszystkie tagi HTML z ciągu znaków, nie wiedząc, które tagi w nim są?
- 3. Jak usunąć wszystkie tagi pochodzenia git i lokalne?
- 4. Pobierz wszystkie tagi z taggit
- 5. Jak usunąć z elementu wszystkie odziedziczone i obliczone style?
- 6. Jak zdobyć tagi klasy elementu html
- 7. CSS Docelowe wszystkie h tagi
- 8. jak usunąć każdy styl z elementu?
- 9. Jak mogę usunąć tagi komentarza z HTML używając BeautifulSoup?
- 10. Jak usunąć wszystkie elementy potomne elementu body za pomocą DOMDocument?
- 11. Jak usunąć tagi wyjątkiem Format poczty znaczników kontenerowych
- 12. Django filtr szablon usunąć tagi html
- 13. jQuery jCarousel - jak usunąć jCarousel z elementu
- 14. Jak usunąć znak z elementu tablicy?
- 15. Jak usunąć karetkę z elementu wejściowego?
- 16. usunąć/zastąpić tagi html w bash
- 17. Jak usunąć wszystkie relacje z wielutoma?
- 18. Jak usunąć wszystkie znaki z ciągu znaków?
- 19. Jak usunąć wszystkie wiersze z siatki Kendo
- 20. Jak usunąć wszystkie pliki cookie z jQuery
- 21. Jak usunąć wszystkie obiekty z obiektu NSMutableArray?
- 22. Jak usunąć wszystkie zadania z sidekiq?
- 23. Jak usunąć wszystkie usunięte pliki z repozytorium?
- 24. Jak usunąć wszystkie NA z wektora?
- 25. Jak usunąć wszystkie znaki diakrytyczne z pliku?
- 26. Jak usunąć wszystkie elementy z wyjątkiem pierwszego elementu z listy rozwijanej w języku C#?
- 27. Jak usunąć wszystkie klawisze resharper?
- 28. usunąć wszystkie obiekty z uiview?
- 29. Tikster Pythona - jak usunąć wszystkie elementy podrzędne?
- 30. Usunąć wszystkie stylizacje z komponentów Primefaces?
Jest lepiej używać 'get_text()' zamiast 'getText()'. – SparkAndShine
Dlaczego tak jest? Być może tak jest, ale dobrze byłoby zrozumieć, dlaczego tak się dzieje. –
getText() jest składnią bs3 i nie jest zgodny z pep8. Prawdopodobnie będzie przestarzałe. –