이 프로젝트는 Google의 Vertex AI Gemini Computer Use 모델을 활용하여 LG전자 웹사이트(https://www.lge.co.kr/tvs)에서 최신 TV 제품 3개의 상세 정보를 자동으로 수집(크롤링)하고, 수집된 데이터를 Google BigQuery에 저장하는 AI 에이전트입니다.
AI 에이전트는 사람처럼 웹사이트를 탐색하고, 팝업을 닫고, 동적으로 로드되는 콘텐츠를 기다리며, 필요한 정보를 정확히 추출하도록 설계되었습니다.
- AI 기반 웹 자동화: Gemini Computer Use 모델이 스크린샷을 보고 다음 행동을 결정하여 웹 페이지를 자율적으로 탐색합니다.
- 동적 페이지 처리: JavaScript로 콘텐츠가 로드되는 최신 웹사이트 구조에 대응합니다.
- 상세 정보 추출: 제품명, 모델 코드, 가격 정보뿐만 아니라, '스펙 더보기' 버튼 클릭 후 나타나는 상세 스펙(화면크기, 해상도 등)까지 추출합니다.
- 데이터 자동 저장: 추출된 모든 정보는 체계적으로 정리되어 Google BigQuery 테이블에 자동으로 저장됩니다.
- Python 3.10 이상
- Google Cloud Platform (GCP) 계정 및 프로젝트
- GCP 프로젝트에서 BigQuery API 및 Vertex AI API가 활성화되어 있어야 합니다.
- GCP 인증 설정 (로컬 환경에서
gcloud auth application-default login명령 실행)
git clone https://github.com/ldu1225/lge_computer_use.git
cd lge_crawler_publish프로젝트에 필요한 Python 라이브러리를 설치합니다.
pip install -r requirements.txtPlaywright가 웹 브라우저를 제어하는 데 필요한 드라이버를 설치합니다.
playwright install chromium스크립트를 실행하기 전에, GCP 프로젝트와 BigQuery 설정을 환경 변수로 구성해야 합니다.
bigquery_utils.py 파일을 열어 다음 변수들을 자신의 환경에 맞게 수정하세요.
# bigquery_utils.py
# TODO: 아래 값들을 자신의 GCP 및 BigQuery 설정으로 변경하세요.
PROJECT_ID = os.environ.get("GCP_PROJECT_ID", "your-gcp-project-id")
DATASET_ID = "your_bigquery_dataset"
TABLE_ID = "your_bigquery_table"your-gcp-project-id: 당신의 Google Cloud 프로젝트 IDyour_bigquery_dataset: 데이터를 저장할 BigQuery 데이터셋 이름your_bigquery_table: 데이터를 저장할 BigQuery 테이블 이름
팁:
PROJECT_ID는 환경 변수로 설정하여 관리하는 것이 더 안전합니다.
Vertex AI를 사용하는 경우, 터미널에서 다음 환경 변수를 설정할 수 있습니다.
export USE_VERTEXAI=true
export VERTEXAI_PROJECT="your-gcp-project-id"
export VERTEXAI_LOCATION="your-gcp-location" # 예: us-central1만약 Gemini API 키를 사용한다면, USE_VERTEXAI를 false로 두거나 설정하지 않고, GEMINI_API_KEY 환경 변수를 설정하세요.
모든 설정이 완료되면, 다음 명령어로 크롤러를 실행할 수 있습니다.
python3 main.py스크립트가 실행되면 터미널에 진행 상황이 실시간으로 출력되며, AI 에이전트가 웹사이트를 탐색하고 데이터를 추출하는 과정을 확인할 수 있습니다. 모든 작업이 완료되면 3개 제품의 정보가 BigQuery에 저장됩니다.
-
GUI 모드로 실행: 브라우저가 실제로 어떻게 작동하는지 보고 싶다면
--headless false옵션을 추가하여 실행할 수 있습니다. (GUI 환경이 설정된 시스템에서만 가능)python3 main.py --headless false
.
├── main.py # 🚀 스크립트의 메인 진입점, 에이전트 실행
├── agent.py # 🤖 AI 에이전트의 핵심 로직 (모델과 상호작용)
├── bigquery_utils.py # 📦 BigQuery 설정 및 데이터 삽입 유틸리티
├── requirements.txt # необходимых Python 라이브러리 목록
└── computers/
├── __init__.py
├── computer.py # 🖥️ 브라우저 제어의 추상 베이스 클래스
└── playwright/
└── playwright.py # 🎭 Playwright를 이용한 브라우저 제어 구현체


