웹 스크래퍼를 생산 서비스처럼 취급하기
대부분의 팀은 웹 스크레이퍼 오류를 귀찮은 일로 여깁니다. 누군가 잘못된 데이터를 발견하면 브라우저에서 페이지를 열고, 선택자를 수정하고, 다시 배포합니다. 이는 스크레이퍼가 하나뿐이고 매일 그 출력을 확인하는 사람이 있을 때 효과적입니다. 하지만 스크레이퍼가 수십 개가 되고, 오류가 일주일 후에 하위 보고서의 이상한 숫자로 나타나는 경우에는 더 이상 작동하지 않습니다. 이 글에서는 다른 모든 프로덕션 서비스와 마찬가지로 카탈로그화되고, 상태 점검되며, 추적되고, 복구되는 스크레이퍼를 구축하는 방법을 설명합니다. LLM이 수정 사항을 제안하고, 일반 Python이 해당 수정 사항을 배포할지 결정합니다.이 프로젝트는 WeMakeDevs 해커톤에서 시작되었으며, 여기서 1등을 차지했습니다. 제품 자체는 작습니다. 세 개의 스트리밍 제공업체에 걸쳐 약 12일간의 TV 가이드 데이터를 가져오고, 상위 10개 예정 영화와 상위 10개 예정 쇼를 순위 매기고, Philo에서 원클릭으로 녹화할 수 있게 해줍니다. 제품 자체는 건너뛰고, 드리프트 규칙, 상태 모델, 검증기, 그리고 각 부분 뒤에 있는 코드를 중심으로 설명하겠습니다. 이러한 구성 요소는 스크레이퍼를 실행하는 모든 팀, 또는 LLM이 라이브 시스템을 수정하도록 허용하는 모든 팀에 적용될 수 있습니다.