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

igim5514님의 프로필 이미지
igim5514

작성한 질문수

[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

2단계 - 나무태그 찾기

왜 오류가 나오는지 이해가 안됩니다

작성

·

140

·

수정됨

0

import requests
from bs4 import BeautifulSoup

response = requests.get("https://finance.naver.com/news/mainnews.naver")
html = response.text
soup = BeautifulSoup(html, 'html.parser')

articles = soup.select(".block1")
title = articles.select_one(".articleSubject > a").text
print(title)

AttributeError: ResultSet object has no attribute 'select_one'. You're probably treating a list of elements like a single element. Did you call find_all() when you meant to call find()?

 

오류가 나오는 이유를 모르겠습니다.

.block1 을 찾아서 articles이라는 변수에 저장하고

이 변수에서 .articleSubject 를 찾아서 출력하려고 하면 왜 오류가 나는 걸까요?

 매번 이 부분에서 한번씩 막혀서 이렇게 저렇게 바꾸다 보면 해결은 되는데 왜 저 문구가 오류가 나는건지 너무너무너무 궁금합니다.

 

답변 1

0

스타트코딩님의 프로필 이미지
스타트코딩
지식공유자

기본편에 2단계영상을 복습하시면 바로 이해되실 겁니다!

igim5514님의 프로필 이미지
igim5514
질문자

안녕하세요! 선생님

나무태그 선택해서 반복문으로 하나씩 추출하는 건 이해가 가는데 왜 저 단계에서는 select_one 이나 text 명령어가 안되는지 궁금해서요.

articles = soup.select(".block1")

여기서는 select 명령어는 되는데 text 명령어는 안되고

title = articles.select_one(".articleSubject > a").text

여기서는 select, select_one, text 명령어가 전부 안되는데 안되는 이유가 궁금합니다.

아무래도 제가 프로그래밍 기초가 아예 없다시피 해서 그런거 같은데 이럴때는 된다, 이럴때는 안된다 기준을 잡을만한 것이 있을까요?

 

 

 

 

 

스타트코딩님의 프로필 이미지
스타트코딩
지식공유자

말씀하신내용은, 리스트 자료형과 클래스와 객체에대한 지식이 부족해서 그렇습니다!

 

파이썬 리스트 자료형과 클래스 객체에 대한 문법을 다시 학습해 보시면 충분히 왜 안되는지 이해가 되실거에요

igim5514님의 프로필 이미지
igim5514
질문자

말씀해주신 부분 공부하고 오겠습니다~

답변 감사합니다. ㅎㅎ

igim5514님의 프로필 이미지
igim5514

작성한 질문수

질문하기