인프런 커뮤니티 질문&답변

응군님의 프로필 이미지
응군

작성한 질문수

파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

CSS selector 사용해서 크롤링하기2 (업데이트)

select의 리턴값이 리스트이므로 get_text()가 안되는 이유

작성

·

422

0

안녕하세요.

강의 정말 잘보고 있는데 이해가 되지 않아 질문 드립니다.

select의 리턴값이 리스트인건 이해를 했는데

리스트이므로 get_text()를 바로 할 수 없어
(실제 쓰면 오류 발생 'list' object has no attribute 'get_text')

for문으로 다시 돌려서 get_text()를 쓰는데 왜 이렇게 해야 하는건지가 잘 이해가 되지 않습니다.

이 부분을 설명해 주실 수 있으실까요?

답변 2

2

안녕하세요. select의 리턴값이 리스트이면, 해당 값을 받은 변수는 타입이 리스트가 됩니다.

리스트 변수에는 get_text()라는 함수가 존재하지 않습니다. 하지만, 리스트 변수 안에 있는 각 데이터를 for 문으로 하나씩 꺼내면, 해당 데이터는 get_text()라는 함수를 쓸 수 있는 객체이기 때문에, 이와 같이 하나씩 꺼내서 get_text() 함수를 사용하는 것입니다.

간략히 사과 박스가 있고 그 안에 사과가 있는 상황으로 생각해보시면, 사과 박스는 먹을 수 없어서요. 사과 박스 안에서 각 사과를 꺼내야 해당 사과를 먹을 수 있는 이치와 동일하다고 보시면 좀더 낫지 않을까 생각합니다. 사과 박스가 리스트라고 보시면 좋고, 리스트 안에 있는 각 데이터가 사과 이고, 먹는다는 행위가 get_text() 함수라고 생각하시면 좀더 이해가 쉽지 않을까 생각합니다. 다만, 객체지향 문법을 이해하고 계시다면, 이 부분이 좀더 쉽게 이해가 되실 것 같아서요. 파이썬 객체지향 문법에 대해 다음 사이트도 참고하시면 좀더 도움이 되시지 않을까 합니다.

https://www.fun-coding.org/PL&OOP1-2.html

감사합니다.

0

응군님의 프로필 이미지
응군
질문자

답변 감사합니다 ^^

응군님의 프로필 이미지
응군

작성한 질문수

질문하기