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

김수현님의 프로필 이미지
김수현

작성한 질문수

[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

주식 크롤링 도움이 필요합니다. (추가 질문 있습니다.)

작성

·

737

·

수정됨

0

안녕하세요.

어느새 무제한 강의로 바뀌었네요. ^^

네이버금융크롤링을 응용하여 재무제표를 가져 오고 싶은데...

https://finance.naver.com/item/main.naver?code=005930 페이지의 재무제표는 잘 가져왔습니다.

그런데 재무재표 더보기 버튼을 클릭한 페이지에서 재무제표의 테이블 값을 가져오려니 못가져 오고 있습니다.

https://finance.naver.com/item/coinfo.naver?code=005930&target=finsum_more 페이지 입니다.

찾고 싶은 테이블 : <table class="gHead01 all-width" summary = "주요재무정보를 제공합니다.">

왜 못가져오나 테스트 해보니

html print 해보면 찾고 싶은 table 내용이 아예 없어요.

해당 table의 부모인 div = id는 페이지 열 때 마다 값이 변합니다.

동적페이지 이런 걸까요??? Selenium을 사용해야 하는건지...

별 삽질을 다 해 보고 있는데 제 능력으로는 해결이 안되 도움이 필요합니다. ㅠㅠ

답변 1

1

스타트코딩님의 프로필 이미지
스타트코딩
지식공유자

안녕하세요.

코딩을 가장 쉽게 알려주는 크리에이터, 스타트코딩입니다.

 

찾고 싶은 테이블 : <table class="gHead01 all-width" summary = "주요재무정보를 제공합니다.">

부모태그를 찾아서 올라가보면 iframe 태그 안에 있습니다.

 

iframe태그는 페이지안에 또다른 페이지를 삽입할 때 쓰는 태그입니다.

image

src 속성값인 url로 요청을 보내면 잘 받아와 질 겁니다 :)

 

 

김수현님의 프로필 이미지
김수현
질문자

몇일 바빠서 이제야 봤는데 답변 감사합니다~

그런데 답변해 주신 링크는 이미 테스트 해봤던건데 결과는 똑같았습니다.

새로운 질문으로는

  1. form에 Post인 부분이 있는데 연관이 있을까요??

image2. 검색 버튼 클릭 시 Javascript를 실행 함으로써 동적 페이지로 동작 하는 것 같습니다.

image검색 버튼 클릭 할때 Parameters에 encrypt 관련이 있어 값을 넣을 수 도 없었습니다....

imageimage3. 어떻게든 아름다운스푸 단에서 끝내고 싶었는데.... 정녕 Selenium을 이용 해야 할까요...??

 

스타트코딩님의 프로필 이미지
스타트코딩
지식공유자

많이 까다롭네요.

파라미터를 암호화해서 매번 호출할 때마다 생성하는 페이지 인 것 같습니다.

 

페이지에 공개된 자바스크립트 코드 쪽을 분석해 보니

encparam값이 노출되어 있습니다.

 

아래 코드로 가져올 수 있으니 확인해 보세요.

import requests
from bs4 import BeautifulSoup

response = requests.get("https://navercomp.wisereport.co.kr/v2/company/c1010001.aspx?cmp_cd=005930&target=finsum_more")
html = response.text
start = html.find('encparam')
html[start + 11: start + 43]
김수현님의 프로필 이미지
김수현

작성한 질문수

질문하기