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

파커죤님의 프로필 이미지

작성한 질문수

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

네이버 주식 사이트 크롤링 관련 문의드립니다

21.03.17 22:02 작성

·

350

0

바로 실전 크롤링해보기 :네이버 주식 사이트 크롤링하기  강의에서 인기검색종목을 크롤링하는 예제를 실습해보고 적용하기 위해 더보기를 들어가 인기검색어가 30개까지 나와 있는 페이지에서 각 항목들을 크롤링 하려했으나 실행이 되지 않았습니다.

작성한 코드는 이것이었습니다.

import requests

from bs4 import BeautifulSoup

res=requests.get('https://finance.naver.com/sise/lastsearch2.nhn')

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

data=soup.select('#contentarea > div.box_type_l > table > tbody > tr:nth-child(3) > td:nth-child(2) > a')

data

그러나 data를 출력했을 땐 [ ] 이런 식으로 빈 리스트만 나왔습니다.

구글링해본결과 페이지를 켰을 때 자바스크립트에 의해 동적으로 변동되는 페이지는 값을 불러올 수 없어 그런다는데 이 사례도 동일한 경우인지 궁금해서 문의를 남깁니다.

답변 1

0

ses123you님의 프로필 이미지

2021. 03. 18. 00:52

아래 코드 그대로 복붙해서 적용해보셔요.

제가 해보니 동적웹페이지 때문이 아니고, 선택자 문제인것 같네요.

저도 이거 해보느라 시간 쪼끔  걸렸네요 ㅎ

도움이 되었길..

코드  -------------------

import requests

from bs4 import BeautifulSoup

res=requests.get('https://finance.naver.com/sise/lastsearch2.nhn')

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

tr_list = soup.select('div.box_type_l table tr')

for item in tr_list[3:]:

    if item.select_one("a"):

        title = item.select_one("a")

        print(title.get_text())