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

daminking123님의 프로필 이미지
daminking123

작성한 질문수

업무 자동화를 위한 파이썬 pyautogui, beautifulsoup 크롤링 기초

2022년 업데이트 - 네이버 블로그 검색결과 가져오기 1편

키에러가 나는데 어떻게 해야하는지 궁금합니다.

작성

·

421

1

import urllib.request
from bs4 import BeautifulSoup

url = 'https://search.naver.com/search.naver?query=%ED%8C%8C%EC%9D%B4%EC%8D%AC&nso=&where=blog&sm=tab_viw.all'
html = urllib.request.urlopen(url).read()
soup = BeautifulSoup(html, 'html.parser')

title = soup.find_all(class_ = 'api_txt_lines total_tit')

for i in title:
print(i.attrs['title'])
print(i.attrs['href'])
라고 완성했는데
Traceback (most recent call last): File "main.py", line 11, in <module> print(i.attrs['title']) KeyError: 'title'
라고 뜹니다. '다음' 에서도 블로그로 검색했을 때도 그러고 네이버로도 시도해봤는데 키 값이 안 잡히거나 아니면 len으로 값을 찾아봐도 0으로 뜨는데 class를 잘못 잡은 것인지 어디서 오류가 났는지 궁금합니다.
참고로 제가 하는 url내 검사 창에는 title이 없어서 대체할 것을 계속 찾고 있습니다..
참고로 html만은 또 잘 출력됩니다.

답변 1

1

네이버가 html구조를 조금 바꾼 거 같네요 블로그 제목에 따로 태그가 안되어있어서 그냥 제목 감싸는 a태그 안에 있는 텍스트 다 가져오게 하려고 print(i.attrs['title'])을 print(i.text)로 바꾸니까 잘 나오네요 

daminking123님의 프로필 이미지
daminking123

작성한 질문수

질문하기