본문 바로가기

프로젝트/크롤링, 스크래핑

(7)
[Python] 카테고리별 네이버 기사 크롤링 오늘은 네이버 기사를 카테고리별로 크롤링하여 제목, 날짜, 본문, 카테고리, 링크의 속성을 가진 데이터프레임을 만들어보겠습니다. 이후 포스팅에서는 카테고리별로 수집한 네이버 기사의 본문을 형태소 단위로 나누어 각 본문에서 등장한 형태소의 빈도수를 데이터프레임으로 정리해 보겠습니다. 이후엔 그 데이터프레임을 가지고 랜덤 포레스트를 시행하여 아무 기사의 본문을 넣으면 카테고리를 예측하는 모델을 만들어보겠습니다. 한 카테고리와 페이지에서 뉴스 기사 링크 수집 일단, 각 페이지에서 뉴스 링크를 수집하는 함수를 만들어보겠습니다. import requests from bs4 import BeautifulSoup from tqdm.notebook import tqdm 기본적으로 크롤링에 필요한 모듈인 requests..
[Python] 셀레니움으로 100대 통계지표 크롤링하기 오늘은 셀레니움을 사용하여 100대 통계지표를 크롤링해보겠습니다. 오늘 우리가 크롤링해보려는 사이트는 이곳입니다. https://ecos.bok.or.kr/jsp/vis/keystat/#/key 100대 통계지표 ecos.bok.or.kr 한국은행 경제통계시스템의 "한눈에 보는 우리나라 100대 통계지표"입니다. 통계지표 중 가장 중요한 100개의 통계 자료를 뽑아 한눈에 보기 좋게 정리해놓은 사이트입니다. 셀레니움으로 크롤링을 시도하기 전 requests랑 BeautifulSoup로 크롤링을 시도해보았으나 실패했습니다. 동적 데이터의 경우 requests와 BeautifulSoup로 크롤링을 하는 것이 불가능합니다. 단순히 웹서버에 이미 저장되어 있는 데이터를 요청하여 받아오는 경우 이는 정적인 요소이..
[Python] 공공데이터포털 API 사용하여 데이터 수집하기 이전 시간에 공공데이터포털에서 인증키를 받아 XML파일을 열어보는 것까지 진행하였습니다. 이번 포스팅을 읽기 전에 이전 포스팅을 보고 오시는 것을 추천드립니다. https://bigdata-doctrine.tistory.com/16 공공데이터포털 오픈 API 사용법 : 인증키 생성, XML 파일 접속 데이터를 수집하는 방법에는 여러 가지가 있습니다. 그중 하나는 직접 크롤링하는 것이고 하나는 오픈 API를 사용하여 크롤링하는 것입니다. 직접 크롤링을 하는 경우에는 여러 문제가 발생할 bigdata-doctrine.tistory.com 이번 시간에는 파이썬을 활용하여 공공데이터포털의 국토교통부 아파트매매 실거래자료 데이터를 데이터프레임에 저장하고 시각화를 통해 간단한 분석을 하도록 하겠습니다. 데이터 수집..
공공데이터포털 오픈 API 사용법 : 인증키 생성, XML 파일 접속 데이터를 수집하는 방법에는 여러 가지가 있습니다. 그중 하나는 직접 크롤링하는 것이고 하나는 오픈 API를 사용하여 크롤링하는 것입니다. 직접 크롤링을 하는 경우에는 여러 문제가 발생할 수 있습니다. 관리자가 외부 접속자는 크롤링을 하지 못하도록 막아 둘 수 있고 만약에 현재 크롤링이 된다고 하더라도 미래에도 같은 방식으로 데이터를 가져올 수 있을지 확신할 수 없습니다. 또한 크롤링을 통해 과도한 트래픽을 일으키거나 수익 창출을 한다면 IP주소가 차단되고 처벌을 받을 수도 있습니다. 우리나라의 경우 "여기어때" 플랫폼에서 "야놀자"의 숙박정보를 무단으로 크롤링해가서 소송을 당한 경우가 있습니다. 하지만 오픈 API를 사용한다면 말이 달라집니다. 오픈 API는 관리자가 관리하고 있는 데이터를 누구나 쓸 수..
[Python] (1)올웨더 기반 효율적 투자선 구현 : 데이터 수집 이번 프로젝트는 효율적 투자선을 파이썬을 통하여 시각화를 해 보는 것입니다. 단순히 효율적 투자선을 시각화하는 것뿐만 아니라 샤프지수가 가장 높은 포트폴리오, 위험률이 가장 낮은 포트폴리오, 올웨더 포트폴리오의 위치 또한 효율적 투자선 안에서 확인해 보도록 하겠습니다. 포트폴리오 내 종목은 올웨더 포트폴리오의 종목과 같이 주식, 중기채, 장기채, 금, 원자재로 구성하였고 위 종목들은 모두 미국 거래소에서 거래되는 etf로 구성하였습니다. 데이터 수집 주식, 중기채, 장기채, 금, 원자재의 시세 데이터를 수집해 보겠습니다. pip install investpy etf 시세 데이터를 수집하기 위해 investpy 패키지를 설치합니다. import matplotlib.pyplot as plt #1 from d..
[Python] (2)네이버 금융 증권 데이터(PER,PBR,배당률) 수집 : 데이터프레임 https://bigdata-doctrine.tistory.com/3 [Python] (1)네이버 금융 증권 데이터(PER,PBR,배당률) 수집 : 크롤링 https://finance.naver.com/ 네이버 금융 웹사이트 오늘은 크롤링을 사용하여 네이버 금융에서 증권 데이터를 수집해보도록 하겠습니다. 두 번째 포스팅에 프로그램을 실행해 볼 수 있도록 코랩 링크 bigdata-doctrine.tistory.com 오늘은 판다스 라이브러리를 통해 이전 시간에 수집한 증권 데이터를 데이터프레임에 저장하고 맷플롯립을 통해 시각화를 한 후 엑셀에 저장해보도록 하겠습니다. 데이터프레임 만들기 #데이터프레임 생성 import pandas as pd stock_df = pd.DataFrame({"ticker":ti..
[Python] (1)네이버 금융 증권 데이터(PER,PBR,배당률) 수집 : 크롤링 https://finance.naver.com/ 네이버 금융 웹사이트 오늘은 크롤링을 사용하여 네이버 금융에서 증권 데이터를 수집해보도록 하겠습니다. 두 번째 포스팅에 프로그램을 실행해 볼 수 있도록 코랩 링크 달아놓겠습니다. 코딩에 대한 지식이 없는 분들도 단순히 프로그램을 실행하여 코스피 증권 데이터를 엑셀로 가져가실 수 있습니다. 리스트에 코스피에 상장된 주식들의 티커 저장하기 # 모듈 가져오기 !pip install pykrx from pykrx import stock # 오늘날 코스피에 상장되어 있는 주식의 이름과 티커 수집 today = datetime.today().strftime("%Y%m%d") ticker_list = stock.get_market_ticker_list(date = to..

반응형