programing

BeautifulSoup에서 스크립트 태그를 제거할 수 있습니까?

powerit 2023. 9. 5. 20:50
반응형

BeautifulSoup에서 스크립트 태그를 제거할 수 있습니까?

할 수 있다<script>태그와 모든 내용이 BeautifulSoup과 함께 HTML에서 제거됩니다. 아니면 정규 표현이나 다른 것을 사용해야 합니까?

from bs4 import BeautifulSoup
soup = BeautifulSoup('<script>a</script>baba<script>b</script>', 'html.parser')
for s in soup.select('script'):
    s.extract()
print(soup)
baba

향후 참조가 필요한 사용자를 위한 업데이트된 답변:정답은. 다른 방법을 사용할 수 있지만,decompose제자리에서 작동합니다.

사용 예:

soup = BeautifulSoup('<p>This is a slimy text and <i> I am slimer</i></p>')
soup.i.decompose()
print str(soup)
#prints '<p>This is a slimy text and</p>'

쓰레기 같은 것을 제거하는 데 꽤 유용합니다.<script>,<img>등등.

(공식 문서)에 명시된 대로 다음을 사용할 수 있습니다.extract검색과 일치하는 모든 하위 트리를 제거하는 방법입니다.

import BeautifulSoup
a = BeautifulSoup.BeautifulSoup("<html><body><script>aaa</script></body></html>")
[x.extract() for x in a.findAll('script')]

언급URL : https://stackoverflow.com/questions/5598524/can-i-remove-script-tags-with-beautifulsoup

반응형