Skip to content

Repository files navigation

LG전자 TV 제품 정보 크롤러 (Gemini Computer Use 활용)

📖 프로젝트 소개

이 프로젝트는 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 명령 실행)

1. 저장소 복제

git clone https://github.com/ldu1225/lge_computer_use.git
cd lge_crawler_publish

2. 필수 라이브러리 설치

프로젝트에 필요한 Python 라이브러리를 설치합니다.

pip install -r requirements.txt

3. Playwright 브라우저 드라이버 설치

Playwright가 웹 브라우저를 제어하는 데 필요한 드라이버를 설치합니다.

playwright install chromium

⚙️ 환경 설정

스크립트를 실행하기 전에, GCP 프로젝트와 BigQuery 설정을 환경 변수로 구성해야 합니다.

1. 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 프로젝트 ID
  • your_bigquery_dataset: 데이터를 저장할 BigQuery 데이터셋 이름
  • your_bigquery_table: 데이터를 저장할 BigQuery 테이블 이름

팁: PROJECT_ID는 환경 변수로 설정하여 관리하는 것이 더 안전합니다.

2. (선택) Vertex AI 환경 변수 설정

Vertex AI를 사용하는 경우, 터미널에서 다음 환경 변수를 설정할 수 있습니다.

export USE_VERTEXAI=true
export VERTEXAI_PROJECT="your-gcp-project-id"
export VERTEXAI_LOCATION="your-gcp-location" # 예: us-central1

만약 Gemini API 키를 사용한다면, USE_VERTEXAIfalse로 두거나 설정하지 않고, 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를 이용한 브라우저 제어 구현체

스크린샷

About

Autonomous OS & GUI automation agent utilizing multimodal vision models for desktop task execution

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages