• 카테고리

    질문 & 답변
  • 세부 분야

    업무 자동화

  • 해결 여부

    미해결

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

20.11.17 16:13 작성 조회수 297

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

나성민님의 프로필

나성민

2021.02.02

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