단 10줄로 실행하는 나만의 챗봇 만들기 (feat. 하버드 CS50)
·
Python & SQL/Python Practice
chatgpt 사이트에 들어가지 않고도 OpenAI API를 통해 나만의 챗봇을 간단히 만들 수 있다. 아주 간단한 질문을 던져 보았는데... 2026년 2월 14일 기준으로 물어본 대한민국의 대통령은 윤석열이라고 대답한다. API는 순수모델로써, 정해진 기간까지 학습된 결과만으로 응답한다고 한다. 2025년 10월도 아니고... 2024년 10월까지 학습한 API를 제공하는 OpenAI 라니... 실망이다. 나는 실시간 웹 검색 기반의 의사결정이 필요한 복잡한 챗봇을 나만의 프로그램 속에 넣어보고 싶어서... 🛜 Responses API 또는 RAG 구조를 활용해야할 것 같다. ps. 10줄의 코드는 유명한 하버드 레전드 강연 "CS50"에 나온 것을 그대로 따라해보았다. * 원문 전체..
[파이썬] 네이버 뉴스 기사 크롤링(제목, URL)
·
Python & SQL/Python Practice
오늘은 네이버 뉴스 기사의 제목과 URL을 크롤링 해보자. 아마 회사의 홍보팀 인턴이 유용하게 쓸 수 있는 기술이 아닐까 싶다. :) 이 글의 최하단에 있는 코드를 돌리면, 검색 키워드를 입력하세요: 라고 나오게 되는데, 코로나라고 입력해보았다. 그리고 '크롤링할 뉴스 기사 수 + 1'을 입력하라고 나오는데 30개를 수집하기위해 31을 입력하였다. 생성된 엑셀 파일의 내용을 살펴보면 아래와 같다. 코드는 아래와 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 ㅍ49 50 51 52 53 54 55 56 57..
[파이썬 텍스트 가공] 그레이 아나토미 메러디스의 대사만 모으기
·
Python & SQL/Python Practice
1. 구글에서 grey's anatomy script 로 검색하여 대본찾기 ( https://greysanatomy.fandom.com/wiki/A_Hard_Day%27s_Night/Transcript ) 2. 전체 복사하여 텍스트 파일에 붙여넣기 및 저장 3. 다음과 같이 Meredith: 대사만 추출 (상세히 달아 놓은 주석 참고) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 # 사용할 모듈 임포트 import os, re, codecs # GA101.txt 파일을 저장한 폴더로 이동 os.chdir(r'C:\Users\jieun\Desktop\scripts') # 텍스트 파일을 불러와 객체 f에 저장..
서울시 자치구별 인구 분포 및 스타벅스 분포
·
Python & SQL/Python Practice
우리가 가는 곳마다 스타벅스가 없는 곳이 없다. 하나 건너 하나 있기도 하다. 그렇다면 서울시에서 가장 많은 스타벅스가 있는 자치구역은 어디일까? 서울에서 스타벅스가 없는 동네도 있을까? 이를 알아보기 위해 스타벅스 공식사이트( www.starbucks.co.kr ) 매장찾기에서 서울의 전체 매장을 크롤링하였다. 그리고, 서울 열린데이터 광장( https://data.seoul.go.kr )에서 나머지 필요한 자료를 다운로드 받았다. 그 결과를 시각화하면 다음과 같다. 도봉구에 단 2곳밖에 없다니... 그것도 도봉구 '창동'에만 있다. 왜 그럴까? 이용자가 없어서 그럴까? 주 이용자인 직장인 연령대의 분포를 더 살펴보았다. 친구들에게 이유를 유추해보라고 하니 '베드타운'이어서 그렇다, 대학교가 없어서 그..
파이썬 실행 파일 만들기 (convert .py to .exe)
·
Python & SQL/Python Practice
파이썬의 pygame 모듈을 사용해서 간단한 게임을 만들어보았다. 배포를 위해 파이썬 파일(.py)을 실행 파일(.exe)로 바꾸는 방법을 알아보았는데 생각보다 너무나 간단했다. (파이썬 스크립트를 실행파일로 만들기 위해서 다양한 패키지가 사용되는데, 이번에는 pyinstaller 를 이용) VSCode의 터미널 창(Ctrl+J)을 열고 pip install pyinstaller 를 입력 후 엔터를 치면 설치가 된다. 그리고 다시 터미널 창에, pyinstaller 파일명.py --onefile --noconsole 를 입력 후 엔터를 치면 exe파일로 변환이 된다. 이때, 아이콘에 이미지를 넣고 싶다면, pyinstaller 파일명.py --icon=이미지파일명.ico --onefile --no..
기상청 공공데이터로 내 생일 기온 변화 그래프 그리기(feat. 주피터 노트북)
·
Python & SQL/Python Practice
만약 지금까지 생일의 평균 기온을 꺾은선 그래프로 나타내면 기온이 계속 상승하는 모양일까?그 의문을 풀기위해 오늘은 기상청의 기온 공공데이터를 다운로드 받아 내 생일 기온 변화 그래프를 그려보았다.(나는 여름에 태어났지만, 영하로 떨어진 날씨를 표현하기 위해서는 코드 한 줄이 더 필요하므로, 그것까지 기록을 남기기 위해서 겨울에 태어난 것으로 가정한다. ▷ 1989년 1월 21일) VSCode가 아니라 주피터 노트북을 사용하였다. 주피터 노트북이 무엇인지, 실행 방법이 궁금하다면, 다음 링크를 참고하자. 주피터 노트북(Jupyter Notebook) 소개와 실행 ○ 주피터 노트북(Jupyter Notebook)이란? 주피터 노트북은 웹 베이스 어플리케이션이다. 주피터 노트북을 사용하면 웹 브라우저 안에..
[문자열 웹 크롤링] 오늘의 띠별 운세
·
Python & SQL/Python Practice
오늘은 ①문자열 웹 크롤링 후 ②엑셀 파일에 저장하는 것을 남겨보고자 한다. 파이썬에서 엑셀을 제어할 수 있는 라이브러리는 종류가 많은데, 오늘은 openpyxl 을 사용하였다.크롤링을 할 때, 지난번 구글 및 네이버 이미지 크롤링 때처럼 Selenium 을 사용할 수도 있지만, 오늘은 BeautifulSoup 을 사용하였다. 마지막으로 웹 크롤링에는 간단하게 HTML/CSS 보는 법이 필요하다. 1) VSCode(Visual Studio Code)를 실행한 후, [ File > Open Folder... > 저장될 폴더 선택 ] 한다. 그리고 그 폴더에 파이썬 파일(파일명.py)을 하나 만든다. (fortune.py 라고 만들어 보겠다.) 터미널 창을 열고(Ctrl + J), BeautifulSou..
파이썬 자연 언어 처리(Natural Language Processing, NLP) 맛보기
·
Python & SQL/Python Practice
오늘 파이썬 패키지 koNLPy("코엔엘파이"라고 읽음)를 사용하여 형태소 분석과 워드클라우드 구현을 해보았다. 사실 워드클라우드는 뉴스빅데이터 분석시스템인 빅카인즈( www.bigkinds.or.kr )에서 자주 이용해왔던 터라 그다지 새롭지는 않았지만, 이를 파이썬으로도 해볼 수 있어 재미있었다. 그렇다면, 자연 언어 처리(NLP)란 무엇일까? 자연어(natural language)란 우리가 일상 생활에서 사용하는 언어를 말한다. 자연어 처리(natural language processing)란 자연어의 의미를 분석하여 컴퓨터가 처리할 수 있도록 하는 일을 말한다. 자연어 처리는 음성 인식, 내용 요약, 번역, 사용자의 감성 분석, 텍스트 분류 작업(스팸 메일 분류, 뉴스 기사 카테고리 분류), 질의..