본문 바로가기

Developer/Python16

[Python] Matplotlib 이벤트 핸들링 (마우스 이벤트, 키보드 이벤트) 보통 우리가 사용하는 matplotlib와 같은 그래프 라이브러리들의 예제를 보면, 어레어로 입력값을 주고 단순히 띄우는 형태인데요. 가끔 파이썬을 사용하다보면, 그래프를 직접 그릴 일이 있습니다. 이번 포스팅에서는 matplotlib를 활용해서 interactive graph, 즉 그래프를 마우스 클릭질을 통해 직접 그려보는 예제를 다뤄보도록 하겠습니다. 공식 matplotlib 설명 페이지도 잘 되어 있으니 참고하시면 됩니다. Matplotlib 파이썬을 하는 사람이라면 알 수 밖에 없는 아주 유명한 라이브러리입니다. 기본적으로 그래프와 관련된 대부분의 기능을 지원합니다. 간단한 사용법은 인터넷에 너~무 많아서 생략하겠습니다. Interactive Graph 그리는 예제 사용자가 직접 설정한 범위 내.. 2020. 7. 30.
[파이썬] Pyinstaller, cx_Freeze 사용법 (exe 파일 생성) 파이썬은 조금만 익숙해지면 정말 재미있는? 언어입니다. 상상할 수 있는 거의 대부분의 것을 할 수 있기 때문인데요. 오늘은 파이썬 프로그램을 exe로 만드는 방법에 대해 알아보겠습니다. exe 실행파일을 만드는 이유 보통 파이썬으로 작업을 하면 .py 파일만 남기 때문에, 파이썬이 설치되지 않은 환경에서는 해당 프로그램을 구동하기가 어렵습니다. 때문에 프로그램 배포를 위해서는 .exe 형태의 범용 실행파일로 변환해줘야 합니다. exe 파일을 만드는 라이브러리 소개 파이썬에는 exe로 변환하는 라이브러리들이 있습니다. 오늘은 그 중에서도 pyinstaller와 cx_Freeze에 대해 간단하게 알아보겠습니다. Pyinstaller 사용법 공식 홈페이지에서 간단한 사용방법을 알 수 있습니다. pip inst.. 2020. 7. 29.
[Python] 공적 마스크 API 활용하여 지도로 구현하기 (Folium 라이브러리 적용) 얼마 전 공적 마스크 실시간 재고확인을 위한 공공 API가 오픈되었습니다. 간단히 API를 호출하여 재고를 나타내는 방법을 파이썬을 이용하여 구현해보도록 하겠습니다. 순서 API를 통한 데이터 로드 Folium을 이용한 지도 표기 (라이브러리 사용법은 여기에서 확인가능) API 호출 코드 설명 공공 API 활용은 공공데이터포털에서 상세히 확인할 수 있습니다. 그 중에서도 공적 마스크 재고는 여기에서 확인하실 수 있습니다. API페이지에서 상세 조회가 가능하며, 이 포스팅에서는 그 중 /storesByGeo/json 주소를 통해 데이터를 받는 것으로 진행합니다. 원하는 위도/경도 및 반경을 쿼리값으로 넣어 호출하면, 그에 해당하는 약국리스트와 재고량 및 업데이트 시간 등을 반환해줍니다. (코드에서는 사당역.. 2020. 3. 16.
Python 지도 라이브러리, Folium 사용법 이번에 운영하고 있는 풀카 데이터 분석을 위해 지도 라이브러리인 Folium을 사용해봤습니다. 굉장히 가볍고, 간단한 로직으로 구현이 가능한데 기능은 탁월합니다! 만든 사람에게 아낌없는 박수를.. Folium 설치하기 터미널 창에서 아래와 같이 입력하여 설치합니다. pip install folium 맵에 좌표 띄우기 제가 가진 데이터는 위도, 경도가 리스트 형태로 담긴 리스트입니다. 즉, 아래 코드에서 latlon의 데이터는 아래와 같습니다. 12345678910[[37.31355679999999, 127.08034150000003], [37.35959300000016, 127.105316], [37.388204699999996, 126.66208460000007], [37.19821445962207, .. 2020. 1. 4.
[Python] 웹스크랩핑하기 - Selenium을 통한 크롬 브라우저 제어 이번에는 단순히 정보를 받아오는데 그치치 않고, 능동적으로 브라우저를 제어하는 방법에 대해 알아보겠습니다. (모든 포스팅은 jupyter notebook 기준으로 설명합니다.) 먼저 웹브라우저 제어 도구인 selenium을 설치합니다. !pip install selenium 크롬 브라우저 드라이버를 설치합니다. 여기에서 크롬용 드라이버를 다운받습니다. 다운로드 페이지 하단에 크롬브라우저를 택하시고, 컴퓨터에 깔린 크롬 버전에 받게 설치하시면 됩니다. (크롬 버전 확인: 구글에 my user agent를 검색하세요.) 아래 코드를 실행하여 크롬브라우저를 열어봅니다. 12from selenium import webdriverbrowser = webdriver.Chrome('/PATH/chromedri.. 2019. 5. 26.
[Python] 웹스크랩핑하기 - link주소 따오기 (attrib) 지난 포스팅에서는 리디북스의 베스트셀러 책명만 가져오는 예제를 다뤘습니다. 이번에는 책 제목이 아니라, 해당 책 제목의 링크를 타고 들어갈 수 있도록 링크 주소를 따오는 코드를 살펴보겠습니다. 코드는 지난번과 거의 동일하며, 딱 한부분만 다릅니다. 1234567import lxml.htmlroot = lxml.html.fromstring(res.text)links = root.cssselect('a.title_link') linkList = []for link in links: linkList.append(link.attrib['href'])cs 지난번에는 얻어진 개별 항목에 대해 text_content()를 사용하여 텍스트값을 가져온 반면, 이번에는 attrib['href']를 통해 hr.. 2019. 5. 24.