본문 바로가기
Python/Python_Crawling

.text 와 .string 차이점(보완)

by Mr.DonyStark 2024. 2. 2.
# 라이브러리 호출
from bs4 import BeautifulSoup

html = '''
<a class='logo_naver'>
    <span class = 'blind'>
        네이버
    </spn>
</a>
'''
#html.parser를 활용해 html 파싱
soup = BeautifulSoup(html, 'html.parser')
#클레스네임이 logo_naver인것 활용
logo = soup.select_one(".logo_naver")
print(f'text\t:\t{logo.text}\n.logo_naver 네임을 가진 태그의 모든 하위요소의 텍스트 추출. 좀 두루뭉실하게 사용하려면 사용')
print('\n\n')
print(f'string\t:\t{logo.string}\n정확하게 한개의 태그안에 텍스트가 있어야 인식하고 추출가능함. 빈칸, 빈줄이 있다면 무엇을 추출해야하는지 몰라함. 정확한 값을 위해서라면 사용')

.text 사용시 공란 또는 띄어쓰기가 된 상태로 추출되지만 .logo_naver 하위에 있는 모든 값들을 가져옴. 반면 .string이 None이 출력되었는데 만약 추출하고자하면 span.blind를 선택하여 사용했다면 값이 추출되었을 것임