본문 바로가기
파이썬

파이썬 BeautifulSoup Grab Visible 웹 페이지 텍스트

by º기록 2021. 1. 4.
반응형


그렇다면 스크립트, 주석, CSS 등을 제외한 모든 보이는 텍스트를 어떻게 찾아야합니까?

 

해결 방법

 

이 시도:

from bs4 import BeautifulSoup
from bs4.element import Comment
import urllib.request


def tag_visible(element):
    if element.parent.name in ['style', 'script', 'head', 'title', 'meta', '[document]']:
        return False
    if isinstance(element, Comment):
        return False
    return True


def text_from_html(body):
    soup = BeautifulSoup(body, 'html.parser')
    texts = soup.findAll(text=True)
    visible_texts = filter(tag_visible, texts)  
    return u" ".join(t.strip() for t in visible_texts)

html = urllib.request.urlopen('http://www.nytimes.com/2009/12/21/us/21storm.html').read()
print(text_from_html(html))

 

참조 페이지 https://stackoverflow.com/questions/1936466

 

 

반응형

댓글