본문 바로가기

반응형

Minding's Programming

[Airflow] Airflow 알아보기 및 설치 방법 (입문) 데이터 엔지니어링 분야에서 각광받고 있는 플랫폼인 Airflow는 2014년 Airbnb 엔지니어링 팀에서 개발한 오픈소스 워크플로우 관리 플랫폼이다. 프로그래밍으로 ETL과 같은 워크플로우를 작성하고 예약 및 모니터링 할 수 있다. Airflow 왜 배워야할까?1. Automation: Extractaction > Transformation > Loading에 이르기까지 모든 과정을 자동화할 수 있다. 2. Orchestration: 데이터 추출, 가공, 저장, 분석 등의 파이프라인 관리용으로 가장 인기 많은 오픈소스 솔루션으로, Spark, Hadoop, Python, R 등 여러 플랫폼과 언어를 오가며 사용할 수 있다. (솔루션 간의 연계성이 좋음) 또한 공식적으로 지원하지 않는 플랫폼에 대해서도 .. 더보기
카카오톡 메시지로 긍/부정어 감정 분석해보기 (재미로 보는 야구팬들의 감정 분석) 내겐 '야구'라는 주제로 뭉친 친구들의 단체 카톡방이 있다. 여느 야구팬들이 보통 그렇듯이, 야구 경기를 보면서 희노애락의 이야기들을 나누곤 한다. 16년차 한화팬인 나는 올 시즌에도 기대에 못 미치는 경기력을 보며 한탄을 하던 도중 문득 궁금해졌다. '이겨도 져도 욕하는 야구라지만 성적이 좀 괜찮다면 욕을 좀 덜하지 않았을까?' 하는 생각을 가지고 가볍게 재미를 가지고 카카오톡 메시지를 통해 긍/부정어 분석을 진행해보았다. 필요한 라이브러리import pandas as pdimport torchfrom transformers import BertTokenizer, BertForSequenceClassificationfrom transformers import TextClassificationPipeli.. 더보기
[FastAPI] HTTP 메소드 요청을 처리하는 데코레이터 정리 야구장 소개 홈페이지를 직접 만들면서 게시판 기능을 구현하려고 하니, 기존에 사용했었던 @router.get 데코레이터가 아닌 .post, .put, .delete와 같은 다양한 데코레이터를 사용하게 됐다. 각 데코레이터 별 개념을 간단히 정리해보고자 한다. 각 데코레이터는 FastAPI의 HTTP 메소드에 따른 요청을 처리하는데 사용되는 데코레이터이며, 특정 URL 경로와 HTTP 메소드에 매핑하여 해당 요청이 들어올 때 지정된 함수를 실행한다. 1. @router.get HTTP GET 메소드와 관련된 요청을 처리주로 서버에서 데이터를 가져오는 데 사용ex) 데이터 조회, 특정 리소스를 가져오는 요청 2. @router.postHTTP POST 메소드와 관련된 요청을 처리주로 서버에 새로운 데이터를 .. 더보기
[Python/Selenium] (업데이트)Selenium으로 KBO 경기 일정 크롤링하기 2024.07.01 - [Minding's Programming/Knowledge] - [Python/Selenium] Selenium으로 KBO 경기 일정 크롤링하기 [Python/Selenium] Selenium으로 KBO 경기 일정 크롤링하기야구장 소개 홈페이지를 만드는 데 경기 일정도 한 페이지에 보여주는 곳이 있으면 좋겠다고 생각이 들었다. KBO 홈페이지에 있는 경기 일정을 주기적으로 크롤링해 이 홈페이지에 노출시키고자minding-deep-learning.tistory.com 이 글은 위 링크의 크롤링 코드를 보완한 코드와 함께 어떻게 보완했는지에 대한 설명을 위한 글이다. 전체 코드 from selenium import webdriverfrom selenium.webdriver.chrome.. 더보기
[Python/Selenium] Selenium으로 KBO 경기 일정 크롤링하기 https://minding-deep-learning.tistory.com/180 [Python/Selenium] (업데이트)Selenium으로 KBO 경기 일정 크롤링하기2024.07.01 - [Minding's Programming/Knowledge] - [Python/Selenium] Selenium으로 KBO 경기 일정 크롤링하기 [Python/Selenium] Selenium으로 KBO 경기 일정 크롤링하기야구장 소개 홈페이지를 만드는 데 경기 일정도 한 페minding-deep-learning.tistory.com위 글은 본문의 코드를 보완한 코드이다. 야구장 소개 홈페이지를 만드는 데 경기 일정도 한 페이지에 보여주는 곳이 있으면 좋겠다고 생각이 들었다. KBO 홈페이지에 있는 경기 일정을 .. 더보기
[Python/Bleach] Bleach 라이브러리 이용해 HTML 태그 삭제하기 네이버 뉴스 API를 통해 뉴스 데이터를 수집하다보니, 뉴스 제목에 해당하는 title에 HTML 태그가 그대로 들어와 문자열에 포함되는 경우가 있었다. 이 문자열 그대로 홈페이지에 노출할 예정이었다 보니, 해당 문자열을 필터를 통해 HTML 태그를 지울 필요가 있었다. 그럴때는 Bleach의 clean메서드를 이용하면 해결할 수 있다. from bleach import cleanarticle = '가나다라'print(clean(article, tags=[], strip=True))>>>'가나다라' 더보기
[FastAPI/Crawling] 네이버 뉴스 API를 활용해 야구 뉴스 데이터 수집하기 토이 프로젝트로 야구장 관련 홈페이지를 만들고 있는데, KBO 야구장을 소개하는 것이다보니 해당 뉴스를 함께 노출할 수 있었으면 좋겠다는 생각에 야구 뉴스만을 수집하는 크롤러를 제작해보았다. 실시간으로 뉴스 업데이트를 해주는 것이 목표이기 때문에, 기본적으로 비동기적 실행이 가능하도록 제작했다. 우선 '야구'라는 키워드를 가진 뉴스를 모두 수집한 다음 link라는 칼럼(네이버 뉴스 상의 하이퍼링크)에서 'kbaseball'이라는 키워드가 포함된 것만 DB에 저장할 리스트에 추가하는 방식으로 설계했다. import aiohttpimport asynciofrom config import get_secretclass NaverNewsScraper: NAVER_API_NEWS = "https://opena.. 더보기
[FastAPI/AWS/Uvicorn] AWS에 프로젝트 배포하기 배포 준비uvicorn host 0.0.0.0으로 변경, reload=False, port=80main.py jinja2에서 파일 경로 str 타입으로 변경requirements.txt 패키지 체크 (aiohttp 누락되어 있는거 추가)github에 코드 올리기https://github.com/settings/tokens/new 토큰 발급토큰 복사 해두기VPS : 가상 사설 서버 구축AWS Lightsail 사용인스턴스 생성ssh를 사용하여 연결 (브라우저에서 접속)sudo apt-get updatesudo apt-get -y upgradesudo apt-get install build-essentialsudo apt-get install curl git vim python3 python3-piptouc.. 더보기

728x90