본문 바로가기

분류 전체보기

파이썬 네이버 뉴스 기사 크롤링하기: 초보자도 실행할 수 있는 코드 이전에 뉴스 알림 봇을 만드는 내용을 작성했던 적이 있습니다. 당시에는 네이버 모바일 버전에서 뉴스 기사를 가져오는 방법을 사용했었는데, PC 버전에서는 어떻게 할 수 있는지 여쭤보시는 분이 계셔서 이번 글을 작성하게 되었습니다. 주피터 노트북만 설치되어 있다면 초보자도 따라서 실행할 수 있는 코드니까, 한번 실행해보시면 재미있을 거예요. 파이썬 설치 방법이 궁금하시다면 이 글은 참고해주세요. [파이썬] 파이썬 아나콘다 설치 방법, 파이썬 설치 방법 오늘은 파이썬 아나콘다를 설치하는 방법을 알아보겠습니다. 파이썬은 공식 홈페이지인 python.org에서 무료로 다운로드할 수 있지만 업무 자동화, 데이터 분석 등과 같은 일을 하기 위해서는 많은 추가 라이브러.. hogni.tistory.com 주피터 노트.. 더보기
파이썬으로 일봉 주식 데이터 가져오기: pandas-datareader 파이썬에는 국내외 일단위 주식 데이터를 제공해주는 라이브러리들이 있습니다. 그중 대표적인 pandas-datareader를 사용하는 방법을 알아보겠습니다. 이 라이브러리를 이용하면 다양한 데이터 소스로부터 정보를 받아 올 수 있습니다. 보통 많이 이용되는 데이터 소스는 yahoo finance입니다. 코드 패턴 import pandas_datareader as pdr pdr.get_data_yahoo('종목 코드', start='시작 시점', end='종료 시점') 어떤 종목의 일별 주가 데이터를 조회하기 위해서는 딱 세 가지 변수만 입력하면 됩니다. 이때 한 가지 주의할 점은 미국과 우리나라의 '종목 코드' 입력 방법이 다르다는 점입니다. 미국의 경우 알파벳을 사용하고 있으며, 우리나라의 경우 6자리 .. 더보기
[웹크롤링] URL에 한글을 넣었더니 문제가 발생했다: 퍼센트 인코딩(percent-encoding)을 알아보자 웹브라우저에서 지금 보고 있는 사이트의 주소를 복사해서 다른 곳에 붙여 넣었더니, 한글은 온데간데없이 사라지고 왠 %로 시작하는 이상한 문자가 대신 들어가 있는 것을 본 적이 있으신가요. 바로 URL 인코딩 때문입니다. 파이썬으로 크롤링을 진행할 때도 이 한글이 종종 문제가 되는데요. 오늘은 그 해결 방법을 알아보겠습니다. 퍼센트 인코딩이란 퍼센트 인코딩(percent-encoding)은 URL에 문자를 표현하는 문자 인코딩 방법으로 영문자, 숫자, 몇몇 기호만을 사용하여 문자를 나타냅니다. 이 외에 한글, 한자, 특수문자 등은 사용할 수 없습니다. 때문에 파이썬에서 한글 포함된 URL 주소에 요청을 보내면 오류가 발생하게 됩니다. 다행히 이 오류를 피하는 방법이 있습니다. 첫 번째 방법은 한글 텍스트를.. 더보기
크롤링이 차단되었다면 유저 에이전트(User Agent)를 지정해보자, 크롤링 차당 방지법 크롤링을 하다 보면 종종 페이지에서 아무것도 받아오지 못해서 막히는 경우가 생깁니다. 여러 가지 이유가 있을 수 있겠지만 본인이 잘못한 게 없다면 대개 서버에서 차단을 당했기 때문입니다. 서버는 User Agent 검사 등의 방법으로 일반 사용자(사람)와 봇을 구분하여 차단할 수 있습니다. 사람이 아니라고 의심이 되면 접속을 차단하는 것입니다. 봇이 악의적인 목적을 가지고 서버에 많은 부하를 주어 다른 사람들이 피해를 입으면 안 되니까요. 그렇다면 해결 방법은 사람인 척하는 것입니다. 이때 가장 쉬운 방법은 Header에 User Agent 정보를 만들어서 보내는 겁니다. 유저 에이전트란 브라우저가 웹사이트에 연결을 시작할 때 전달되는 기기 정보로 브라우저의 유형, 운영체제 등의 정보가 담겨있습니다. 예.. 더보기
배너, 썸네일, 카드뉴스 무료로 손쉽게 만들기: 미리캔버스로 뚝딱 오늘은 손쉽게 클릭 드래그만으로도 디자이너 같이 배너, 썸네일, 카드 뉴스, 상세페이지 등을 만들 수 있는 온라인 사이트 미리캔버스를 소개합니다. 온라인 마케팅을 한 번이라도 직접 해보신 분이라면, 이런 이미지 작업들을 하는 게 얼마나 중요한 일인지 아실 거예요. 하지만 외주를 주거나 디자이너를 고용하는 건 너무 부담스러운 일입니다. 프로 수준까지의 작업 결과물이 필요한 건 아직 아니니까요. 이럴 때 뭔가 손쉽게 디자이너가 만든 느낌만이라도 비슷하게 나면 좋겠다는 생각이 드는데요. 바로 미리캔버스가 그런 작업 결과물을 만들 수 있게 도와줄 수 있습니다. https://www.miricanvas.com/ 홈 - 미리캔버스 디자인 고민 끝! 템플릿으로 바로 해결하는 웹 디자인 플랫폼 '미리캔버스' www.m.. 더보기
역대 로또 당첨번호 확인하는 방법, 엑셀로 다운로드하기 매주 토요일이면 수많은 전 국민이 로또 당첨번호를 맞춰보는 것 같습니다. 이렇게 번호를 맞춰 보다 보면 이런 궁금증이 들 때가 있습니다. '가장 많이 당첨된 번호가 뭘까?' 이 질문에 답하기 위해서는 역대 당첨번호가 필요하겠죠. 그래서 오늘은 역대 로또 당첨번호를 엑셀로 다운로드하는 방법을 알아보겠습니다. 사실 매우 쉬운 일인데 종종 어디서 다운로드하는지 못 찾으시는 분들이 있는 것 같아 작성합니다. 로또 혹은 동행복권을 검색 아무 포털사이트나 들어가서 검색창에 로또 또는 동행복권을 검색합니다. 아래 사진과 같은 검색 결과가 나왔으면 동행복권 복권통합포털 링크를 클릭합니다. 회차별 당첨번호 메뉴를 클릭 동행복권 사이트에 들어오셨으면 다음과 같은 수많은 복권 메뉴를 볼 수 있습니다. 다 거르시고, 이 중에.. 더보기
파이썬으로 미국 주가 데이터 가져오기: yfinance 라이브러리 사용법 파이썬에는 과거 주가부터 현재 주가까지 데이터를 조회 및 다운로드할 수 있는 yfinance라는 좋은 라이브러리가 있습니다. 기본 사용 방법 종목코드를 사용해서 Ticker 객체를 만들면 해당 종목에 대한 여러가지 정보를 확인할 수 있습니다. Ticker란 종목 코드를 뜻하며 미국의 경우에는 알파벳을 사용하고 있습니다. 예를 들어 구글은 GOOG, 애플은 AAPL, 코카콜라는 KO로 표기합니다. 우리나라의 경우는 여섯 자리 숫자를 사용하고 있습니다. 코스피 대장주 삼성전자의 종목코드는 005930입니다. # 라이브러리를 불러옵니다. import yfinance as yf import pandas as pd # Ticker(종목코드) 객체를 생성합니다. apple = yf.Ticker("AAPL") # 회.. 더보기
파이썬 웹 크롤링 comp.fnguide 재무 데이터 가져오기: pd.read_html() 전업 개발자가 아닌 분들도 파이썬 웹 스크래핑/크롤링에 관심 많은 것 같습니다. 아무래도 다른 분야보다 활용할 수 있는 곳이 다양하기 때문이 아닌가 싶습니다. 그중에서도 특히 개인 투자자 분들이 더 적극적이라는 느낌을 받습니다. 최근에 지인으로부터 재무제표를 수집할 수 있는 방법에 대해서 질문을 받았고, 관련해서 해당 내용을 좀 찾아봤습니다. 네이버 블로그에 이미 해당 내용이 잘 정리된 글이 있어서, 그 코드에 pd.read_html()을 덧붙여 보았습니다. 종목코드만 입력하고 코드를 실행하면 해당 기업의 재무 정보를 판다스 데이터프레임 형태로 가져올 수 있습니다. https://blog.naver.com/htk1019/221266979613 파이썬 웹 스크레이퍼 만들기 8편. Fnguide 데이터가져오.. 더보기