티스토리 뷰
AI 자동화 시스템 구축 - 크롤링 및 데이터 분석 AI
AI가 실시간 데이터를 자동으로 수집하고 분석하는 기능이 있다면 더욱 강력한 시스템이 될 수 있습니다.
이번 글에서는 CrewAI + FastAPI + BeautifulSoup을 활용하여
AI가 실시간 데이터를 크롤링하고 분석하는 자동화 시스템을 구축하는 방법을 실습합니다.
🔹 1. AI 자동화 시스템이란?
📌 AI 자동화 시스템 개요
AI 자동화 시스템은 특정 데이터를 수집하고, 분석하여 자동으로 인사이트를 제공하는 방식으로 동작합니다.
Manus와 같은 AI 시스템은 자동 크롤링 및 데이터 분석 기능을 활용하여 사용자에게 유용한 정보를 제공합니다.
✅ AI 자동화 시스템의 주요 기능
- 실시간 웹 데이터 크롤링 (뉴스, 주식, 트렌드 등)
- 크롤링한 데이터를 AI가 분석하여 정리
- FastAPI를 통해 자동화된 데이터 제공 API 구축
✅ 예제: AI 기반 뉴스 크롤링 및 분석 시스템
기능 설명
뉴스 크롤링 | 최신 IT 뉴스 수집 |
AI 분석 | 주요 키워드 및 트렌드 분석 |
자동화 | FastAPI로 데이터 제공 |
💡 목표: AI가 실시간 데이터를 자동 수집하고 분석하여 정보 제공
🔹 2. 데이터 크롤링을 위한 환경 설정
📌 1. 필요한 패키지 설치
AI가 웹에서 데이터를 크롤링하고 분석하려면 BeautifulSoup 및 CrewAI가 필요합니다.
✅ 필요한 패키지 설치
pip install fastapi uvicorn beautifulsoup4 requests crewai
✅ 설치 확인
import fastapi, bs4, crewai
print("설치 완료:", fastapi.__version__, bs4.__version__, crewai.__version__)
🔹 3. CrewAI + BeautifulSoup을 활용한 AI 크롤링 시스템
이제 AI가 웹에서 데이터를 자동으로 수집하고 분석하도록 설정해 보겠습니다.
BeautifulSoup을 활용하여 최신 IT 뉴스를 크롤링하고, CrewAI가 이를 분석하는 방식으로 구현합니다.
🔹 Python 코드 (AI 자동화 뉴스 크롤링 및 분석)
from fastapi import FastAPI
from pydantic import BaseModel
from crewai import Agent, Task, Crew
import requests
from bs4 import BeautifulSoup
app = FastAPI()
# 🔹 뉴스 크롤링 함수
def get_latest_news():
url = "https://news.ycombinator.com/" # Hacker News 예제
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
news_titles = [title.text for title in soup.select(".storylink")][:5] # 상위 5개 뉴스 제목
return news_titles
# 🔹 AI 에이전트 설정
analyst = Agent(
name="데이터 분석가",
role="최신 뉴스를 분석하는 AI",
backstory="기술 트렌드를 분석하여 주요 인사이트를 제공하는 AI",
model="mistral"
)
# 🔹 FastAPI 엔드포인트 생성 (뉴스 크롤링 및 AI 분석)
@app.get("/news_analysis/")
async def news_analysis():
news_list = get_latest_news()
# AI 분석 작업 정의
analysis_task = Task(
description=f"다음 뉴스 제목을 기반으로 3줄 요약을 작성해줘: {news_list}",
agent=analyst
)
# CrewAI 실행
crew = Crew(agents=[analyst], tasks=[analysis_task])
result = crew.kickoff()
return {"news": news_list, "analysis": result}
# FastAPI 서버 실행 (로컬 테스트)
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)
✅ 실행 과정
1️⃣ BeautifulSoup으로 IT 뉴스 데이터 크롤링
2️⃣ CrewAI 기반 AI가 뉴스 내용 분석
3️⃣ FastAPI를 통해 자동화된 AI 분석 결과 제공
✅ API 실행 명령어
uvicorn main:app --host 0.0.0.0 --port=8000 --reload
✅ 테스트 요청 (cURL 예제)
curl -X 'GET' 'http://127.0.0.1:8000/news_analysis/'
✅ 응답 예시
{
"news": [
"AI-powered robotics revolutionizing warehouses",
"New research shows quantum computing breakthrough",
"Google releases new AI framework for developers"
],
"analysis": "현재 AI 기술은 물류 자동화, 양자 컴퓨팅, 개발자용 AI 프레임워크에 집중되고 있음."
}
📌 AI가 뉴스 데이터를 실시간으로 분석하여 요약 제공
🔹 4. AI 자동화 시스템 확장하기
AI 자동화 시스템을 더욱 강력하게 만들기 위해 추가할 수 있는 기능입니다.
✅ 1. AI의 크롤링 범위 확장 (다양한 웹사이트 지원)
- IT 뉴스 크롤링 + AI 분석
- 주식 정보 크롤링 + AI 예측
- 소셜 미디어 트렌드 크롤링 + 감성 분석
🔹 예제: 주식 데이터 크롤링 및 분석
def get_stock_data():
url = "https://finance.yahoo.com/" # 예제 사이트
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
stock_data = [item.text for item in soup.select(".stock-ticker")][:5]
return stock_data
✅ 2. AI 예측 모델 추가 (트렌드 분석 및 감성 분석)
- AI가 뉴스 데이터에서 핵심 키워드 및 트렌드 분석
- AI가 소셜 미디어 데이터를 분석하여 감성 분석 수행
🔹 예제: AI 감성 분석 기능 추가
from textblob import TextBlob
def analyze_sentiment(text):
sentiment = TextBlob(text).sentiment.polarity
return "긍정적" if sentiment > 0 else "부정적" if sentiment < 0 else "중립"
✅ 3. FastAPI를 활용한 데이터 시각화 API 구축
- AI 분석 결과를 JSON + 그래프 형태로 제공
- 데이터 시각화 API를 활용하여 웹 대시보드와 연결
🔹 예제: FastAPI로 데이터 시각화 제공
@app.get("/data_visualization/")
async def data_visualization():
data = {"AI": 30, "Cloud": 20, "Quantum Computing": 10}
return {"trend_analysis": data}
🎯 5. AI 자동화 시스템 구축 정리
✅ CrewAI와 BeautifulSoup을 활용하여 AI가 데이터를 자동 수집할 수 있다.
✅ FastAPI를 활용하면 AI 자동화 시스템을 API로 제공할 수 있다.
✅ AI가 실시간으로 뉴스, 주식, 트렌드를 분석하여 요약할 수 있다.
✅ 데이터 시각화 및 감성 분석 기능을 추가하여 확장 가능하다.
🚀 다음 글 미리보기:
👉 "AI 에이전트의 웹 인터페이스 구축 - 실시간 대화 시스템 개발"
👉 React + FastAPI를 활용하여 AI 웹 인터페이스를 구축하는 방법을 배워봅니다.
추천 태그 (SEO 최적화)
AI 자동화, AI 데이터 크롤링, CrewAI 크롤링, FastAPI 데이터 분석, Ollama AI 자동화, AI 뉴스 분석, AI 트렌드 분석, AI 감성 분석, AI 주식 예측, AI 데이터 시각화
'study > ai prompt' 카테고리의 다른 글
Docker를 이용한 AI 에이전트 컨테이너화 및 배포 (0) | 2025.03.16 |
---|---|
AI 에이전트의 웹 인터페이스 구축 - 실시간 대화 시스템 개발 (0) | 2025.03.16 |
AI 기억력 추가하기 - 세션 기반 대화 관리 (0) | 2025.03.16 |
나만의 AI 에이전트 설계하기 (역할 기반 AI 구현) (0) | 2025.03.15 |
FastAPI로 AI API 만들기 - Ollama와 CrewAI 연동 (0) | 2025.03.15 |
- Total
- Today
- Yesterday
- rag
- Docker
- llm
- Next.js
- 백엔드개발
- kotlin
- REACT
- 개발블로그
- PostgreSQL
- Python
- 파이썬알고리즘
- nodejs
- Prisma
- 딥러닝
- SEO최적화
- 프론트엔드면접
- CI/CD
- Ktor
- 웹개발
- App Router
- SEO 최적화
- seo 최적화 10개
- flax
- gatsbyjs
- 프론트엔드
- nextJS
- AI챗봇
- NestJS
- JAX
- fastapi
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |