[python] FastAPI에서 웹 스크래핑 구현하기
FastAPI는 Python으로 웹 서버를 빠르게 구축할 수 있는 강력한 프레임워크입니다. 이제 FastAPI를 사용하여 웹 스크래핑 기능을 구현해보겠습니다.
필요한 패키지 설치
먼저, 필요한 패키지를 설치해야 합니다. 아래 명령어를 사용하여 필요한 패키지를 설치합니다.
pip install fastapi
pip install httpx
pip install beautifulsoup4
웹 스크래핑 기능 구현하기
FastAPI를 사용하여 웹 스크래핑을 구현하기 위해 다음 단계를 따릅니다.
- FastAPI 애플리케이션 만들기:
from fastapi import FastAPI app = FastAPI()
- 필요한 패키지 가져오기:
import httpx from bs4 import BeautifulSoup
- 스크래핑할 웹 사이트 URL과 스크래핑할 정보의 CSS 선택자(def_selector)를 정의합니다:
url = 'http://example.com' def_selector = 'h1'
- FastAPI 엔드포인트(Endpoint) 생성하기:
@app.get('/scrape') def scrape_website(): response = httpx.get(url) soup = BeautifulSoup(response.content, 'html.parser') result = soup.select_one(def_selector).text return {'result': result}
- FastAPI 애플리케이션 실행하기:
if __name__ == '__main__': import uvicorn uvicorn.run(app, host='0.0.0.0', port=8000)
위 코드에서 url
은 스크래핑할 웹 사이트 주소를, def_selector
는 원하는 정보의 CSS 선택자를 지정합니다. 엔드포인트인 /scrape
은 GET 메서드로 호출되면 스크래핑을 수행하고 결과를 반환합니다.
애플리케이션 실행하기
아래 명령어를 사용하여 웹 스크래핑 애플리케이션을 실행합니다.
uvicorn main:app --reload
애플리케이션이 실행되면 웹 브라우저나 API 테스트 도구로 http://localhost:8000/scrape
에 접속하면 스크래핑 결과를 확인할 수 있습니다.
결론
FastAPI를 사용하여 웹 스크래핑을 구현하는 방법을 알아보았습니다. FastAPI의 뛰어난 성능과 간편한 문법으로 웹 스크래핑 기능을 구현할 수 있습니다. 이를 활용하여 다양한 웹 스크래핑 작업을 수행해보세요.