FastAPI를 사용하여 뉴스 크롤링 서비스 구현하기

FastAPI

FastAPI는 Python으로 웹 어플리케이션을 개발하기 위한 빠르고 현대적인 프레임워크입니다. 이번 포스트에서는 FastAPI를 사용하여 뉴스 크롤링 서비스를 구현하는 방법에 대해 알아보겠습니다.

1. FastAPI 설치하기

먼저, FastAPI를 설치해야 합니다. 다음 명령어를 사용하여 pip를 통해 FastAPI를 설치합니다.

pip install fastapi

2. 프로젝트 구조 설정하기

FastAPI 프로젝트의 구조를 설정해야 합니다. 다음과 같은 폴더 구조를 가지는 프로젝트 폴더를 생성합니다.

mynews/
    ├── main.py
    └── app/
        ├── __init__.py
        ├── routers/
        │   ├── __init__.py
        │   └── news.py
        └── models/
            ├── __init__.py
            └── news.py

3. 모델 정의하기

app/models/news.py 파일을 생성한 후, 다음과 같이 뉴스 모델을 정의합니다.

from pydantic import BaseModel

class News(BaseModel):
    title: str
    content: str
    source: str

4. 라우터 설정하기

app/routers/news.py 파일을 생성한 후, 다음과 같이 라우터를 설정합니다.

from fastapi import APIRouter

router = APIRouter()

@router.get("/news/")
async def get_news():
    # 뉴스 크롤링 로직 구현
    return {"message": "뉴스 크롤링 서비스"}

5. 메인 앱 파일 설정하기

main.py 파일을 생성한 후, 다음과 같이 FastAPI 앱을 설정합니다.

from fastapi import FastAPI

app = FastAPI()

app.include_router(news.router)

6. 서버 실행하기

FastAPI 서버를 실행하기 위해 다음 명령어를 사용합니다.

uvicorn main:app --reload

7. 뉴스 크롤링 API 테스트

이제 뉴스 크롤링 API가 정상적으로 동작하는지 테스트해봅시다. 브라우저나 API 테스트 도구를 사용하여 다음 주소로 요청을 보냅니다.

http://localhost:8000/news/

정상적인 응답을 받으면 뉴스 크롤링 서비스가 성공적으로 구현된 것입니다.

결론

FastAPI를 사용하여 빠르고 안전하게 뉴스 크롤링 서비스를 구현하는 방법에 대해 알아보았습니다. FastAPI의 강력한 기능과 간편한 사용법으로 웹 어플리케이션 개발을 좀 더 즐겁게 할 수 있습니다.

#FastAPI #뉴스크롤링 #웹어플리케이션