-
비디오 스크래핑: 화면 캡처 비디오를 Google Gemini 모델에 입력해 구조화된 데이터로 변환
-
이미지 모델 사용: Gemini, GPT-4o, Claude 3.7등을 사용해 이미지 및 구조화되지 않은 PDF에서 데이터 추출
-
Playwright 등 최신 라이브러리 활용: 브라우저 자동화 수행. 비디오/이미지 분석 모델과 통합하여 사용
- Simon Willison이 데이터 저널리즘 컨퍼런스 NICAR 2025에서 진행한 1시간 짜리 인터랙티브 워크샵
워크숍 구성
1. Git 스크래핑
-
Git 스크래퍼란?
- GitHub Actions를 사용해 웹사이트나 리소스를 정기적으로 스크래핑하고 변경 사항 기록 가능
- GitHub 저장소에서 템플릿 Repo를 이용해서 복제한뒤 쉽게 설정 가능
- 특정 웹사이트 URL 또는 JSON 파일 URL을 입력하면 매일 자동으로 실행됨
- 저장소의 커밋 페이지 URL에 .atom을 추가하면 RSS 피드 생성 가능
- RSS 리더를 통해 웹사이트의 변경 사항 실시간 확인 가능
2. 브라우저 내 JavaScript 스크래핑
- 복잡한 웹사이트는 단순 HTML 파싱만으로는 데이터 추출이 어려움
- 실제 브라우저에서 페이지 로딩 후 JavaScript를 사용해 스크래핑 가능
-
테이블 데이터 추출: 브라우저 개발자 도구에서 JavaScript를 사용해 테이블 데이터를 JSON으로 변환 가능
-
무한 스크롤 페이지 처리: JavaScript로 페이지에서 지속적으로 추가되는 콘텐츠를 자동 수집 가능
-
Shot-scraper를 사용한 자동화:
- 특정 명령어를 통해 전체 웹페이지 스크린샷 캡처 가능
- JavaScript 코드 실행 후 JSON 형식으로 데이터 출력 가능
3. LLM을 이용한 구조화된 데이터 추출
- LLM(Large Language Model)을 사용해 비정형 데이터를 구조화된 데이터로 변환 가능
- OpenAI 및 Google Gemini API 키 필요
- Codespaces 또는 로컬 Python 환경에서 실행 가능
- 스키마를 통한 데이터 추출
- 스키마(schema)란 LLM이 반환할 데이터의 형식을 정의하는 것
- 예를 들어, 제목, URL, 날짜 등을 스키마에 정의해 일관된 형식으로 데이터 추출 가능
- 웹페이지에서 데이터를 스크래핑할 때 스키마 기반으로 출력 가능
- 비용 계산 및 모델 선택
- 모델마다 입력 및 출력 토큰 수에 따라 비용 발생
- GPT-4o mini 모델은 저렴하지만 다른 모델은 비용이 비쌀 수 있음
- 예를 들어 GPT-4.5 모델은 같은 작업에 대해 훨씬 높은 비용이 발생할 수 있음
-
Gemini 모델은 상대적으로 저렴하며 다양한 옵션 제공
- PDF에서 데이터 추출
-
FEMA Daily Operations Briefing 같은 PDF 문서에서 데이터 추출 가능
- Gemini 모델은 PDF 파일을 입력받아 구조화된 JSON 형식으로 출력 가능
- PDF에서 특정 표나 텍스트 추출 가능
- 이미지에서 데이터 추출
- GPT-4o는 이미지에서 데이터를 추출할 수 있음
- 스크린샷을 모델에 입력해 구조화된 데이터 출력 가능
- 모델 선택 팁
- Gemini 2.0 Pro 모델은 무료이지만 엄격한 속도 제한이 존재
- 비용 효율성과 성능을 고려해 여러 모델을 테스트하고 선택해야 함
- 웹페이지 특성에 따라 LLM보다는 shot-scraper가 더 유용할 수 있음
- 복잡한 데이터 처리 도전 과제
- 복잡한 인포그래픽이나 지도에서 데이터 추출 시 모델 성능이 다를 수 있음
- 다양한 모델을 시도해 최적의 성능을 보이는 모델 선택 필요
4. Google AI Studio를 이용한 비디오 스크래핑
-
비디오 스크래핑은 일반적인 스크래핑이 어려운 웹사이트에서 데이터를 추출할 수 있는 강력한 방법
- Google Gemini 모델은 비디오 입력을 받아 JSON 형식의 구조화된 데이터로 변환 가능
- 화면 녹화 후 해당 비디오를 AI 모델에 입력해 데이터 추출 가능
- 비디오 스크래핑 과정
- 웹사이트에서 원하는 데이터를 포함한 섹션으로 이동
- 화면 녹화 도구(예: QuickTime Player) 실행
- 웹사이트 탐색 → 중요한 부분에서 잠시 멈춤
- 녹화된 비디오를 Google AI Studio에 업로드
- AI Studio에서 모델 프롬프트 작성 및 데이터 추출
- 스키마 추출 도구를 사용해 JSON 형식으로 데이터 구성 가능
- 비디오 스크래핑의 장점
- 복잡한 웹사이트 구조를 우회 가능
- JavaScript 렌더링이 필요한 사이트에서 유용함
- 페이지 내 다양한 데이터(텍스트, 표, 이미지 등) 추출 가능
- 주의사항
- AI Studio에서 제공하는 기능은 대부분 무료이지만, 입력된 데이터가 훈련에 사용될 수 있음
- 보안이 중요한 데이터는 입력하지 않는 것이 좋음
- 복잡한 웹사이트의 경우 비디오 스크래핑이 다른 스크래핑 기법보다 더 효율적일 수 있음
- 실시간 스트리밍 옵션
- AI Studio의 Stream Realtime 옵션을 사용하면 실시간 데이터 추출 가능
- 스크래핑이 어려운 동적 콘텐츠에서도 효과적일 수 있음
- 뉴스룸에서의 적용
- 뉴스룸에서 복잡한 데이터 추출 및 자동화에 유용
- Gemini 모델의 성능과 정확도를 테스트해 최적의 방식 도출 가능
- 워크숍 이후에도 협업 및 피드백 가능
추가 도구 및 자료