logo
languageKRdown
menu

야후 파이낸스 크롤링 가이드

5 분 열독

야후 파이낸스(Yahoo Finance)는 금융 데이터와 투자 정보를 제공하는 인기 있는 온라인 플랫폼입니다. 여기에는 주식, 지수 펀드, 환율, 채권, 상품 등 다양한 금융 상품에 대한 실시간 및 과거 데이터가 포함됩니다. 이 글에서는 야후 파이낸스 데이터를 쉽고 빠르게 추출할 수 있는 훌륭한 야후 파이낸스 스크래퍼를 소개합니다.

야후 파이낸스 웹 스크래핑 합법화

당연히 합법입니다. 야후 파이낸스 웹 사이트에서 이용할 수 있는 대부분의 데이터는 오픈 소스 및 공개된 정보입니다. 그러나 이러한 데이터를 추출하고 사용할 때는 여전히 해당 국가의 웹 스크래핑 법규를 준수하여야 합니다.

다음과 같은 Yahoo Finance 데이터를 추출할 수 있습니다.

  • 주식시장 뉴스 업데이트
  • 기업의 현주가
  • 회사 주가 상승 하강 추세
  • 뮤추얼 펀드 및 ETF
  • 통화 및 암호화폐의 가치

비즈니스 시장에서 증권 금융 데이터를 분석하면 비즈니스 전략을 개선하는 데 유용한 인사이트를 생성할 수 있습니다.

야후 파이낸스 API

야후 파이낸스 API는 개발자와 기업에 금융 데이터와 분석을 제공하는 플랫폼입니다. 개발자가 현재 및 과거 주가, 환율, 재무제표, 뉴스 및 기사 등 다양한 재무 데이터에 액세스할 수 있는 다양한 API를 제공합니다.

하지만 야후 파이낸스는 2017년 API 서비스를 공식적으로 중단했습니다. 즉, 야후 파이낸스에서 데이터를 가져오고 싶다면 다른 방법을 찾아야 합니다.

코딩 없이 야후 파이낸스에서 데이터 추출하기

야후 파이낸스를 추출할 수 있는 여러 가지 방법이 있습니다. 그중 일부는 코딩 지식이 필요하지 않습니다. 가장 널리 사용되는 무료 오픈 소스 소프트웨어 중 하나인 최고의 웹 스크래핑 도구 Octoparse를 소개해 드리겠습니다. 여러 웹 사이트에서 데이터를 대량으로 추출하고, 한 번에 최대 10,000개의 링크를 지원합니다.

Octoparse는 야후 파이낸스 사이트에서 데이터를 자동으로 인식할 수 있으며 몇 번의 클릭만으로 데이터를 가져올 수 있는 바로 쓸 수 있는 템플릿도 있습니다. 추출한 데이터를 엑셀, CSV, 데이터베이스 등 여러 형식으로 내보낼 수 있습니다. 예약 일정 기능으로 시간별, 일별 또는 주별로 추출 실행을 스케줄할 수도 있습니다.

야후 파이낸스 데이터 추출을 위한 3단계

Octoparse를 다운로드하여 설치한 후 다음 단계를 따라 야후 파이낸스에서 데이터를 추출할 수 있습니다. 

1단계: 야후 파이낸스에서 복사한 URL 입력

데이터를 추출하는 데 필요한 야후 파이낸스 페이지를 열고 페이지 링크를 복사합니다. Octoparse 검색어 입력창에 URL을 입력하고 검색 버튼을 클릭합니다. 자동 인식을 시작합니다.

2단계: 워크플로우를 변경

자동 인식 프로세스기 완료된 후 워크플로우를 만듭니다. 미리보기 섹션에서 추출된 데이터를 볼 수 있으며, Octoparse를 사용하면 추출할 데이터 필드를 변경할 수 있습니다.

3단계: 워크플로우를 실행하여 야후 파이낸스 데이터 추출

모든 변경 사항이 저장된 후 실행 버튼을 클릭하여 데이터를 추출합니다. 추출 결과를 로컬 디바이스에 다운로드하거나 데이터베이스에 저장할 수 있습니다.

Python으로 야후 파이낸스 데이터를 추출하는 방법

Python을 사용하여 야후 파이낸스를 스크래핑하려면 오픈 소스에서 사용할 수 있는 여러 파이썬 모듈과 방법을 사용할 수 있습니다. 금융 데이터를 추출하는 가장 간단한 방법 중 하나는 Beautiful Soup 라이브러리를 사용하는 것입니다. 이 방법을 단계별로 살펴보겠습니다.

1단계: 사용 중인 디바이스에 dependency를 설치하기

  • pip install bs4
  • pip install requests
  • pip install pandas

2단계: 모듈 가져오기

#import modules
import requests
from bs4 import BeautifulSoup
import pandas as pd

3단계: 웹페이지 URL을 가져오고 오류를 확인하기

#get the URL using response variable
my_url = "https://finance.yahoo.com/news"
response = requests.get(my_url)

#Catching Exceptions
print("response.ok : {} , response.status_code : {}".format(response.ok , response.status_code))
print("Preview of response.text : ", response.text[:500])

4단계: 웹 페이지의 HTML 데이터를 Beautiful Soup 개체로 검색하는 기능을 만들기

#utility function to download a webpage and return a beautiful soup doc
def get_page(url):
response = requests.get(url)
if not response.ok:
print('Status code:', response.status_code)
raise Exception('Failed to load page {}'.format(url))
page_content = response.text
doc = BeautifulSoup(page_content, 'html.parser')
return doc

#function call
doc = get_page(my_url)


5단계: 데이터를 추출 및 저장하기

#appropritae tags common to news-headlines to filter out the necessary information.
a_tags = doc.find_all('a', {'class': "js-content-viewer"})
print(len(a_tags))

#print(a_tags[1])
news_list = []

#print top 10 Headlines
for i in range(1,len(a_tags)+1):
 news = a_tags[i-1].text
 news_list.append(news)
 print("Headline "+str(i)+ ":" + news)
news_df = pd.DataFrame(news_list)
news_df.to_csv('Market_News')

마무리

재무 정보를 긁어 모으면 비즈니스 세계에서 경쟁력을 얻을 수 있습니다. 이제 야후 파이낸스를 긁어모으는 기본을 배웠으니 여러 소스에서 데이터를 추출하여 유용한 정보 세트로 컴파일해 보십시오. 이 정보에서 얻은 추론을 다양한 형태로 적용하고 추출된 데이터를 최대한 활용할 수 있는 방법을 설명합니다. 이 기사가 금융 웹 스크래핑의 세계로 뛰어들도록 영감을 주기를 바랍니다.

핫 포스트

토픽 보러가기

지금부터 Octoparse 시작하세요.

다운로드

연관 글