작성
·
6.2K
답변 1
3
안녕하세요. 봉하윤님
좋은 질문입니다. 저도 초창기에 차이점을 궁금해 해서 비교해보는 코딩을 한적이 있습니다.
HTML 구조가 아래와 같다고 가정하면,
<td>some text</td>
<td></td>
<td><p>more text</p></td>
<td>even <p>more text</p></td>
.string 으로 td를 출력하면
some text
None
more text
None
이렇게 출력됩니다. 반면에,
.text는
some text
more text
even more text
이렇게 출력됩니다.
차이점은 .string 태그 하위에 문자열을 객체화 합니다. 문자열이 없으면 None 을 반환합니다.
.text는 하위 자식태그의 텍스트까지 문자열로 반환합니다. (유니코드 형식)
즉, 하위태그에 텍스트까지 문자열로 파싱할 경우 .text를 사용하는 것이 좋습니다.
다만, 정확한 파싱을 위해서 선택자로 잘 접근해서 .string을 사용하는 걸을 선호하는 개발자들이
외국에는 더 많은 듯합니다.
선택의 차이니까 잘 판단하시면 될 것같아요.
감사합니다.
아래는 똑같은 질문의 링크입니다.
https://stackoverflow.com/questions/25327693/difference-between-string-and-text-beautifulsoup