inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

실전 크롤링과 강력한 크롤링 기술 팁2 (업데이트)

네이버 사이트 크롤링 (연습) 오류

2170

lygmedi

작성한 질문수 16

0

안녕하세요...

뻔한 낮은 수준질문일 수 있지만 기 질의응답 내용을 보고도 제 문제와 연결지어 생각이 잘 안되서요...

네이버 GNB 메뉴 리스트를 크롤링해보고 싶었습니다.

■개발자모드에서 (노랑 바탕칠 부분)이 해당 영역을 뜻하는것을 확인하고

■아래와 같이 작성해보았는데

import requests

from bs4 import BeautifulSoup

res = requests.get('https://www.naver.com/')

soup = BeautifulSoup(res.content,'html.parser')

titles = soup.find('div', id='gnb')

for title in titles:

    print(title.get_text())

■ 이런 오류문구가 뜨는데...  GNB 영영을 텍스트로 가져올수 없다 라고 하는거같은데

왜 어떤 차이점 떄문에 못가져오는지 궁금합니다..

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-24-15ace1329085> in <module>
      7 titles = soup.find('div', id='gnb')
      8 for title in titles:
----> 9     print(title.get_text())

~\anaconda3\lib\site-packages\bs4\element.py in __getattr__(self, attr)
    869             raise AttributeError(
    870                 "'%s' object has no attribute '%s'" % (
--> 871                     self.__class__.__name__, attr))
    872 
    873     def output_ready(self, formatter="minimal"):

AttributeError: 'NavigableString' object has no attribute 'get_text'

답변 부탁드려요

감사합니다.

python 웹-크롤링

답변 1

0

잔재미코딩 DaveLee

보통 이런 경우는 해당 태그를 가져오지 못했을 때입니다.

그래서 title 이 None 이되고, 그러다보니 거기에서 get_text() 를 했을 때, 해당 함수(메서드)가 없어서 에러를 내는 것이예요.

제가 각자 원하시는 크롤링 코드를 직접 작성하면서, 테스트를 해볼 수는 없지만, 대략적으로 해당 태그가 동적으로 생성이 된다든지 할 때, 크롬 개발자 모드에서는 분명 나타나지만, 크롤링이 안될 수 있습니다. 크롬 개발자 모드보다, 해당 웹페이지에서 오른쪽 클릭해서, 소스보기 한 다음에, 해당 소스에서 해당 태그가 보이는지 확인해보시면 아실 수 있으실 것 같아요.

동적 페이지의 경우에는 selenium 이라는 별도 크롤링 기술로 크롤링을 해야 하는데 난이도가 조금 있어요. 그래서 이 부분은 별도 강의인 '현존 최강 크롤링 기술: selenium/scrapy 기술' 강의로 본 강의를 어느정도 소화하신 분들에 한해서 제공하고 있습니다. 단계가 있어서요. 이 부분도 참고해보시면 좋을 것 같습니다.

감사합니다.

33강 9:51 excercise55.

0

23

1

섹션2 - 32강 연습문제 48번 질문

0

30

0

주피터 노트북 사용법 강의 관련

0

30

1

exercise 20. 데이터 구조(리스트)

0

32

0

65강 소리

0

35

1

섹션 5 CSS selector사용해서 클로링하기2의 커리큘럼 일정 부재?

0

49

2

크롤링, 영상을 따라해도 제미나에게 물어봐도 안되요

0

54

1

정규표현식 및 여러 코드 꼭 외워야 하나요?

0

59

1

리스트 함수형도 정수 데이터 받을 수 있나요?

0

60

1

크롤링 관련 질문

0

75

1

문제 답이 없는 버전은 없나요?

0

89

1

requests, BeautifulSoup 임포트 부분에 대해 문의드립니다.

0

96

1

업데이트 강의

0

119

2

선생님 강의중에서 sqlite3 강의를 제공한 강의가 있나요?

0

146

2

연습용 예제 파일

0

87

1

lxml 관련 오류

0

117

1

SAVE Request 창 띄우는 법

0

106

1

포스트맨 사용법이 바뀌어서 강의를 따라가지 못하겠습니다. 2

0

90

1

포스트맨 사용법이 바뀌어서 강의를 따라가지 못하겠습니다.

0

113

1

예제 2, 4, 6에 대한 풀이 방식 질문.

0

104

1

문제 파일

0

93

1

pdf 파일 내 코드 복붙시 공백

0

315

1

데이터 저장 강좌 문의 건

0

108

1

" " 와 ' '의 차이를 알고 싶습니다

0

265

1