연습문제 2번 질문 있습니다!
95
작성한 질문수 3
연습문제 2번에서 아래 코드로 했을 때 안되는데 이유가 뭔지 모르겠습니다! 어차피 1개라서 반복문을 쓰지 않아도 될까 했는데 안되네요..
import requests
from bs4 import BeautifulSoup
url = 'https://davelee-fun.github.io/'
res = requests.get(url)
soup = BeautifulSoup(res.content, 'html.parser')
items=soup.select('.sitetitle')
print(items.get_text())(+)
print(item.get_text()) 했을때는 잘 추출되는데 item은 선언한적이 없는데 왜 되는걸까요~?
답변 1
1
안녕하세요. 답변 도우미입니다.
두 가지 질문에 대해 각각 답변 드리겠습니다.
### 1. items.get_text()로 실행할 때 에러가 나는 이유
코드에서 items = soup.select('.sitetitle') 부분은 .sitetitle 클래스를 가진 모든 HTML 요소를 선택하여 리스트로 반환합니다. 따라서 items는 리스트 객체이며, 리스트 자체는 get_text() 메서드를 가지고 있지 않기 때문에 에러가 발생합니다.
만약 items 리스트에 들어있는 특정 요소에서 텍스트를 추출하고 싶다면, 예를 들어 첫 번째 요소라면 items[0].get_text()로 접근해야 합니다.
수정된 코드 예시는 다음과 같습니다:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://davelee-fun.github.io/'
res = requests.get(url)
soup = BeautifulSoup(res.content, 'html.parser')
items = soup.select('.sitetitle')
# 리스트의 첫 번째 요소의 텍스트 추출
print(items[0].get_text())
```
### 2. print(item.get_text())가 왜 동작하는지
item 변수를 코드에서 선언한 적이 없는데도 동작한다고 말씀하셨는데, 이는 아마도 코드 실행 환경이나 콘솔에서의 이전 실행 상태와 관련이 있을 수 있습니다. 테스트하시다가 item 변수에 뭔가 넣으셔서 그런 것 같습니다. 다시 컴퓨터 껏다 킨 후 테스트해보시면 아마 위 코드에는 item 변수가 선언되어 있지 않아서, 해당 코드는 동작하지 않을 것 같습니다.
감사합니다.
잔재미코딩 드림
65강 소리
0
24
1
섹션 5 CSS selector사용해서 클로링하기2의 커리큘럼 일정 부재?
0
25
2
크롤링, 영상을 따라해도 제미나에게 물어봐도 안되요
0
40
1
정규표현식 및 여러 코드 꼭 외워야 하나요?
0
47
1
리스트 함수형도 정수 데이터 받을 수 있나요?
0
53
1
크롤링 관련 질문
0
70
1
문제 답이 없는 버전은 없나요?
0
82
1
requests, BeautifulSoup 임포트 부분에 대해 문의드립니다.
0
89
1
업데이트 강의
0
108
2
선생님 강의중에서 sqlite3 강의를 제공한 강의가 있나요?
0
130
2
연습용 예제 파일
0
79
1
lxml 관련 오류
0
112
1
SAVE Request 창 띄우는 법
0
97
1
포스트맨 사용법이 바뀌어서 강의를 따라가지 못하겠습니다. 2
0
85
1
포스트맨 사용법이 바뀌어서 강의를 따라가지 못하겠습니다.
0
104
1
예제 2, 4, 6에 대한 풀이 방식 질문.
0
95
1
문제 파일
0
84
1
pdf 파일 내 코드 복붙시 공백
0
300
1
데이터 저장 강좌 문의 건
0
101
1
" " 와 ' '의 차이를 알고 싶습니다
0
248
1
Exercise 22. 문자열 다루기 (strip)
0
146
1
list함수로 리스트 선언하면 실패하는데 이유는 무엇입니까?
0
193
1
셀 삽입후 바로 기입이 가능합니까?
0
147
2
주피터 노트북 마우스 스크롤? 오류
0
1566
2





