아름다운 수프를 사용하면 모든 내장 된 텍스트를 어떻게 반복합니까?

StackOverflow https://stackoverflow.com/questions/830997

  •  06-07-2019
  •  | 
  •  

문제

HTML에서 모음을 제거하고 싶다고 가정 해 봅시다.

<a href="foo">Hello there!</a>Hi!

becomes

<a href="foo">Hll thr!</a>H!

나는 이것이 아름다운 수프를위한 직업이라고 생각한다. 태그 사이에서 텍스트를 선택하고 이와 같이 작동하려면 어떻게해야합니까?

도움이 되었습니까?

해결책

변수를 가정하십시오 test_html 다음 HTML 컨텐츠가 있습니다.

<html>
<head><title>Test title</title></head>
<body>
<p>Some paragraph</p>
Useless Text
<a href="http://stackoverflow.com">Some link</a>not a link
<a href="http://python.org">Another link</a>
</body></html>

그냥 이것을하십시오 :

from BeautifulSoup import BeautifulSoup

test_html = load_html_from_above()
soup = BeautifulSoup(test_html)

for t in soup.findAll(text=True):
    text = unicode(t)
    for vowel in u'aeiou':
        text = text.replace(vowel, u'') 
    t.replaceWith(text)

print soup

그 인쇄 :

<html>
<head><title>Tst ttl</title></head>
<body>
<p>Sm prgrph</p>
Uslss Txt
<a href="http://stackoverflow.com">Sm lnk</a>nt  lnk
<a href="http://python.org">Anthr lnk</a>
</body></html>

태그와 속성은 손대지 않았습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top