Language/Python
-
대한민국 대학교데이터 가공해서 사용하기Language/Python 2025. 7. 3. 10:27
지하철에 이어서 대학교 파일도 빠르게 가공해보자!! 1. 대학교 파일 내려받기공공데이터 포털에서 메타 데이터를 다운로드 받을수 있고, KESS (교육통계서비스) 및 대학알리미 에서도 다운로드 받을수 있다.필자는 대학정보도 필요하고 대학별 캠퍼스 정보도 필요해서 해서 KESS (교육통계서비스) 및 대학알리미 두곳의 데이터를 믹스해서 사용하려고 한다.KESS에서만 받아도 되는줄 알았는데 없는 정보가 있다. -_-, 없으면 두개 믹스해야지!!그리고 가공된 데이터를 기준으로 카카오 주소 api로 위도/경도 정보도 가져오려고한다.1.1. KESS1.2. 대학알리미 2. 카카오 로컬 API 설정2.1. 카카오 개발자 센터에서 회원가입 및 애플리케이션 등록https://developers.kakao.com 접속카카오..
-
대한민국 지하철데이터 가공해서 사용하기Language/Python 2025. 7. 1. 18:58
여러 api를 모두 사용해 봤지만 지하철만 해도 여러 api를 믹스해서 사용해야한다 -_-;서울쪽은 대부분 처리하였지만 지방 철도까지는 너무 힘들어서 단기간에 필요한 데이터를 얻으려면 공식사이트에서 제공하는 엑셀 파일을 가공해서 사용하는게 좋다는 판단을 내렸다.장기적으로는 api가 좋겠지만 그건 나중일, 우린 시간이 금이니깐 여기까이만 하자! 1. 지하철 파일 내려받기지하철 다운로드 메타 데이터를 내려받는다. 2. 지하철2.1. 지하철 데이터 가공read_subway_data.py데이터 정보를 확인해 본다.import pandas as pdimport osfrom pathlib import Pathdef read_subway_data(): """ 지하철 엑셀 파일을 읽어서 pandas Data..
-
Python으로 MCP Server 만들기Language/Python 2025. 3. 7. 16:23
프로젝트 생성$ mkdir mcp-python-250309 소스코드pythonserver.py대충 로그 찍어두고 서버 기동하자from mcp.server.fastmcp import FastMCPimport loggingimport sys# 로깅 설정logging.basicConfig( level=logging.DEBUG, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', handlers=[ logging.StreamHandler(sys.stdout) ])logger = logging.getLogger("mcp-server")# Create an MCP server# mcp = FastMCP("MCP 서버")m..
-
uv/uvx란 무엇이고 설치는?Language/Python 2025. 3. 7. 11:54
UVX란? (ChatGPT)UVX는 UV 도구의 별칭으로, Python 패키지에서 제공하는 명령줄 도구를 설치하지 않고 실행할 수 있게 해주는 커맨드라인 인터페이스입니다. UVX를 사용하면 도구의 종속성이 일시적인 가상 환경에 설치되어 프로젝트와 격리되어 실행됩니다. 이를 통해 필요할 때마다 도구를 쉽게 실행할 수 있으며, 실행 후에는 가상 환경이 자동으로 삭제되어 디스크 공간을 절약할 수 있습니다. 예를 들어, uvx pycowsay 'hello world!' 명령을 사용하면 pycowsay 도구를 일시적인 환경에 설치하고 실행하여, 사용자가 추가적인 설치 과정 없이 즉시 도구를 사용할 수 있게 합니다.이와 같이 UVX는 특히 개발자들이 여러 다른 도구를 자주 사용하지만, 이들을 영구적으로 설치하고 싶..
-
selenium으로 크롤링하고 Slack에 메시지 전송Language/Python 2024. 11. 24. 16:57
시에서 운영하는 캠핑장들은 빈자리가 생겨서 알림을 받을수 없는것 같다, 수시로 새로고침해서 예약을 하다 보니 겁나 귀찮다.캠핑은 좋고 예약은 힘들고 알림이라도 받아서 하는게 어떨까? 그냥 크롤링으로 알림 받는걸 만들어 놓자.하지만 사용하진 않는다, 배치형태로 돌려야 할 것 같은데 서버를 어떤식으로 할지도 고민해봐야 할듯해서 일단은 대충 만들어 놓고 나중에 진짜로 사용할때 좀더 고급스럽게 커스터 마이징해서 사용하도록 하자. 참고로 python에서 slack에 메시지 보내는 방법은 이전 포스팅에 작성되어 있다. 1. 요구사항`금`,`토` (주말) 및 `공휴일`에 자리가 있다면 데이터를 추출빈자리가 있을때 알림이 오게하는게 1차 목표임으로 데이터를 가공하지는 않는다.추출한 데이터를 json형태로 Slack에 ..
-
파이썬으로 Slack 메시지 보내기Language/Python 2024. 11. 24. 15:39
1. Slack API Key 생성 (slack api)1.1. Create An App를 클릭한다. 2.2. From scratch 2.3. App Name 및 채널을 선택한다. 2.4. Basic Infomation 2.5. OAuth & PermissionsSlack에 메시지 전송을 위한 권한을 부여하도록 하자. 2.6. chat, channels 권한 추가Add an OAuth Scope버튼을 클릭하고 3가지 Scope을 추가해 주자.chat:writechat:write.publicchannels:history 2.7. OAuth Token 생성OAuth Tokens에서 건담봇 워크스페이스를 선택하고 토큰을 생성해주자. 2.8. OAuth Token을 생성하고 토큰 값을 복사한다. 2. Slac..
-
ChromeDriverManager install 에러Language/Python 2024. 11. 24. 14:42
캠핑을 좋아해서 캠핑장소의 빈자리가 나면 알려주는 크롤링을 Selenium으로 개발해 둔게 있었는데, 크롬 드라이버 다운로는 받는 과정에서 에러가 발생하였다. 에러 분석Selenium v4.6이상이 출시 되면서 webdriver_manager를 사용하여 ChromeDriver를 명시적으로 다운로드 할 필요가 없다고 한다.$ pip3 show seleniumName: seleniumVersion: 4.19.0Summary: Home-page: https://www.selenium.devAuthor: Author-email: License: Apache 2.0Location: /Users/deokjoonkang/.pyenv/versions/3.11.3/lib/python3.11/site-packagesReq..
-
Python/DockerLanguage/Python 2022. 9. 2. 13:29
1차에서는 간단히 도커관련된 부분만 정리 docker config docker/flask/config/requirements.txt Flask==1.0.2 Flask-Cors==3.0.7 pandas==0.23.4 matplotlib==3.0.2 bezier==0.9.0 boto3==1.9.57 flask-restplus==0.12.1 Flask-SQLAlchemy==2.3.2 PyMySQL==0.9.2 Flask-Login==0.4.1 Flask-Security==3.0.0 pytz==2018.7 Pillow==5.3.0 Flask-SocketIO==3.1.0 gevent==1.3.7 gevent-websocket==0.10.1 openpyxl==2.5.12 requests==2.21.0 lxml==4..