ITStudy/Python

[Python] openpyxl로 excel 다루기02 (urllib, BeautifulSoup)

Todays Goal 2021. 2. 19. 21:24
728x90
반응형

이번 포스트에서는 python에서 실제 웹 상에 존재하는 데이터들을 excel로 저장하는 방법에 대해서 알아보도록 하겠습니다.

 

따라서 아래의 세가지 라이브러리를 활용해보도록 하겠습니다.

01 urllib : url을 호출하고 데이터를 불러들입니다.

02 BeautifulSoup : html문서를 분석하고 파싱합니다.

03 openpyxl : 매트릭스 형태로 저장하기 위한 excel 파일을 작성합니다 .

 

예제는 urllib와 BeautifulSoup 포스트에서 활용한 DART(전자공시시스템* )의 RSS의 최근공시정보를 활용해보고자 합니다. RSS 최근공시 정보는 최근 50개의 공시(지분,펀드 제외)를 불러옵니다. 

* 상장법인 등이 공시서류를 인터넷으로 제출하고, 투자자 등 이용자는 제출 증시 인터넷을 통해 조회할 수 있도록 하는 종합적 기업공시 시스템 

 

예제 데이터 구조

활용할 데이터의 구조를 살펴보면 개별 기업은 item으로 <title>, <link><category> 등으로 구성되는 걸 알 수 있습니다. 

DART 최근공시(출처: dart.fss.or.kr/api/todayRSS.xml)

 

 

데이터 추출 및 저장

# In1: 예제에 필요한 library들을 가지고 import 합니다. 
import urllib.request as req    
from bs4 import BeautifulSoup
from openpyxl import Workbook

# In2: 웹 데이터를 저장할 Workbook을 생성하고 활성 WorkSheet를 선택해줍니다. 
wb=Workbook()
ws=wb.active

#ln2: 분석 DART URL 오픈
url = "http://dart.fss.or.kr/api/todayRSS.xml"
url_open = req.urlopen(url)

#ln3: BeautifulSoup 객체 생성
soup = BeautifulSoup(url_open, "html.parser")

#ln4: channel > title를 추출합니다.
title = soup.channel.title    
print(title.string)

#ln5: DART의 item들을 WorkSheet에 레코드 별로 붙여넣습니다.
item = soup.find_all("item")
for i in item:
    ws.append([i.title.string,
                 i.category.string,
                 i.guid.string
                ])

#In6: excel 파일을 저장합니다. 
wb.save('simpletest.xlsx')

 

openpyxl 실습결과물

 

 

이상 실제 웹 상에 존재하는 데이터들을 excel로 저장하는 방법에 대해서 알아보았습니다. 

 

다른 개별 라이브러리에 대한 참고는 이전 포스트들을 참고해주시기 바랍니다. 감사합니다. 

 

[Python] urllib로 웹 데이터 핸들링 with DART

오늘은 파이썬 라이브러리 중 웹 데이터를 핸들링 할 수 있는 urllib에 대해서 알아보고자 합니다. urllib 중 urllib.request 모듈과 urllib.parse 모듈을 사용하여 간단하게 웹 페이지에 데이터를 요청하고

todaysgoal.tistory.com

 

[Python] BeautifulSoup로 웹 데이터 분석 with DART

오늘은 웹 데이터 분석을 위해 BeautifulSoup에 대해서 간단하게 알아보도록 하겠습니다. BeautifulSoup는 HTML 및 XML 데이터 분석을 위한 Python 라이브러리입니다. 지난번에 알아본 urllib 라이브러리와 함

todaysgoal.tistory.com

 

[Python] openpyxl로 excel 다루기01 (excel 구조, sheet 및 cell)

이번 포스트에서는 python에서 excel을 다루기위해 openpyxl 라이브러리에 대해서 알아보도록 하겠습니다. 아래와 같은 내용을 알아보도록 하겠습니다. 01 excel의 구조 02 openpyxl 튜토리얼: excel 생성, sh

todaysgoal.tistory.com

 

728x90
반응형