• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

인기검색종목에서 금액과 상승 추출하는 방법이요!

20.11.11 19:47 작성 조회수 138

0

안녕하세요. 선생님!

실전에서 크롤링하는 방법을 너무 쉽게 알려주셔서, 처음 배우는데도 정말 재미있게 배우고 있습니다..! 감사합니다.

2분 8초에서는 '인기검색종목'에서 종목 리스트 추출하는 법을 알려주셨는데,

이후에 7분 30초경 '주요해외지수' 설명처럼 '인기검색종목'도 금액과 상승/하락을 추출해보려고 했습니다.

그런데 아래 사진처럼 오류가 떴는데 이유를 잘 모르겠어서 질문드립니다.

왼쪽이 copy element 한 텍스트고, 오른쪽 위쪽이 '상위종목'만 리스트한 것, 그리고 아래쪽이 금액과 상승/하락 추출을 시도한건데요.

코드는..

import requests

from bs4 import BeautifulSoup

res=requests.get("https://finance.naver.com/sise/")

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

data=soup.select('#popularItemList > li > a')

for item in data:

    print(item.find('a').get_text())

라고 했습니다. 확인 부탁드립니다. 감사합니다!

답변 1

답변을 작성해보세요.

1

ses123you님의 프로필

ses123you

2020.11.12

안녕하세요~,  제가  해보니, 상승&하락 가져오는 것이 잘안되어 

시간이 쫌 걸렸네요. img 태그에서 상승&하락 부분을 가져오지 못하여 페이지소스보기에서

span 태그를 이용하여 상승&하락 값을 가져왔습니다.

아래의 코드와 같이 해보시면 될거에요.

import requests

from bs4 import BeautifulSoup

res=requests.get("https://finance.naver.com/sise/")

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

data=soup.select('#popularItemList > li')

for index,item in enumerate(data):

    item_name = item.find('a').get_text()

    number = item.select_one("span").get_text()

    updown = item.select_one("span.blind").get_text()

    print(str(index+1)+".", item_name, number, updown)