• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

파이썬입문과 크롤링기초 부트캠프 [쉽게! 하지만, 견고한 자료로!]

19.10.29 11:16 작성 조회수 186

0

'파이썬입문과 크롤링기초 부트캠프 [쉽게! 하지만, 견고한 자료로!] '  를 학습하고 있는 직장인 입니다.

네이버 금융에서 '종합정보' 내용은 크롤링 하였습니다. (아래 첨부)

그런데 '종목분석' 의 

Financial Summary 에서는 크롤링 되지 않아 메일 드립니다.

현상 : 제가 원하는 당기 순이익(지배) 내용이 나오지 않고 전혀 다른 내용이 나옵니다

바쁘시겠지만 답변 부탁드립니다.

혹시 시간이 되신다면 Sample로  financial summary의 '당기순이익(지배)' 

를 크롤링하는 프로그램을 부탁드려도 될까요?

제가 크롤링한 결과는 전혀 다른 내용이 나와서 어디서 잘못되었는지 감을 못잡겠습니다.

import requests
import numpy as np
import pandas as pd
from bs4 import BeautifulSoup

stock_num =  ['095570']
#stock_num = ['095570','068400','006840','027410']

for i in stock_num:
    
    
    URL = "https://finance.naver.com/item/main.nhn?code=" + str(i)
    
    print(URL)
    
    stock_1 = requests.get(URL)
    html = stock_1.text

    soup = BeautifulSoup(html, 'html.parser')
    
    finance_html = soup.select('div.section.cop_analysis div.sub_section')[0]
    
    stock_name = soup.select('#middle > div.h_company > div.wrap_company > h2 > a')[0]
    name = stock_name.get_text()
    print(name)
    
    th_data = [item.get_text().strip() for item in finance_html.select('thead th')]
    annual_date = th_data[3:7]
    quarter_date = th_data[7:13]

    #print(annual_date,quarter_date )

    finance_index = [item.get_text().strip() for item in finance_html.select('th.h_th2')][3:]

    #print(finance_index)

    finance_data = [item.get_text().strip() for item in finance_html.select('td')]
    #print (finance_data)

    import numpy as np

    finance_data = np.array(finance_data)

    finance_data.resize(len(finance_index), 10)
    #print (finance_data)

    finance_date = annual_date + quarter_date

    import pandas as pd
    finance = pd.DataFrame(data=finance_data[0:,0:], index=finance_index, columns=finance_date)

    annual_finance = finance.iloc[:, :4]
    #quarter_finance = finance.iloc[:, 4:]


    #print (annual_finance,quarter_finance )
    print (annual_finance)

financial Summary 의 '댱기순이익(지배)' 크롤링하는 예제를 만들어 주시면 유용할것 같습니다.

답변 4

·

답변을 작성해보세요.

0

kwonokun님의 프로필

kwonokun

질문자

2019.11.24

감사합니다.

0

아 추가 문의가 있었군요. 그 부분도 직접 프로그래밍을 해보지 않고서는 말씀드리기가 어려워서요. 일반적으로는 selenium으로는 왠만한 동적 HTML까지도 크롤링이 가능합니다. 제가 강의에서 여러가지 기법을 제시해드린 것도 각 웹페이지마다 케이스가 다 다르기 때문이긴 한데요. selenium이라면 이런 여러 케이스를 가장 쉽게 극복할 수 있는 방법이기는 합니다. 물론 네이버에서 해당 부분을 크롤링 못하도록 막아놓았을 수는 있습니다. 막는 기법도 굉장히 다양하기 때문입니다. 아무쪼록 원하시는 사이트가 잘 크롤링이 되었으면 좋겠습니다. 감사합니다.

0

kwonokun님의 프로필

kwonokun

질문자

2019.11.08

혹시 selenium 을 사용하면 

financial Summary 의 '댱기순이익(지배)' 크롤링

가능할까요??

0

안녕하세요. 요청하시는 부분이 수강자분께서 원하시는 크롤링 프로그램을 작성해드리는 것인데요. 각자 원하시는 코드를 만든 후, 해당 부분에 어떤 부분이 문제가 있고, 심지어 요청하시는 프로그램을 작성해드리기는  현실적으로 무리가 있습니다. 혹여나 시간을 들여서 프로그램까지 만들어서 답변드리게 되면, 오해아닌 오해로, 모든 수강생분들이 이 강의를 들으면 원하는 크롤링 프로그램을 심지어 평생 요청하면 만들어준다는 오해까지 할수 있고, 현실적으로, 시간적 무리가 있어서요. 이 부분은 꼭좀 양해를 부탁드립니다. 감사합니다.