inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

453

파커죤

작성한 질문수 3

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를 출력했을 땐 [ ] 이런 식으로 빈 리스트만 나왔습니다.

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

웹-크롤링 python

답변 1

0

ses123you

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

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

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

도움이 되었길..

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

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())

    

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

0

27

1

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

0

35

1

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

0

45

1

크롤링 관련 질문

0

62

1

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

0

74

1

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

0

83

1

업데이트 강의

0

97

2

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

0

123

2

연습용 예제 파일

0

76

1

lxml 관련 오류

0

106

1

SAVE Request 창 띄우는 법

0

89

1

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

0

72

1

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

0

93

1

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

0

89

1

문제 파일

0

78

1

pdf 파일 내 코드 복붙시 공백

0

291

1

데이터 저장 강좌 문의 건

0

95

1

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

0

241

1

Exercise 22. 문자열 다루기 (strip)

0

131

1

list함수로 리스트 선언하면 실패하는데 이유는 무엇입니까?

0

187

1

셀 삽입후 바로 기입이 가능합니까?

0

139

2

주피터 노트북 마우스 스크롤? 오류

0

1543

2

등호 2개('==')의 의미가 뭐죠?

0

458

2

페이지가 넘어갈 때 url 변하지 않는 경우

0

261

1