데이터 / 자동화
크롤링(Crawling)
크롤링은 프로그램이 웹페이지에 접근하고 링크 등을 따라가며 내용을 수집하는 작업입니다.
쉬운 설명
여러 스터디 공지의 제목과 날짜를 모으려고 AI에게 웹 자료 수집을 요청할 수 있어요. 프로그램이 목록 페이지를 읽고 상세 페이지로 이동해 내용을 가져오는 과정에서 크롤링을 만나요. 검색 엔진도 크롤러를 사용해 웹페이지를 수집해요. 페이지에 접근하는 것과 필요한 항목을 정확히 추출하는 것, 검색에 등록하는 것은 서로 다른 작업이에요.
이런 상황에서 만나요
공개된 스터디 공지 목록에서 새 글을 찾아 정리하려고 한다고 해 볼게요. 목록에 보이는 링크를 모으고, 각 상세 페이지를 읽은 뒤 제목과 날짜를 추출하는 예시예요.
링크를 찾았다고 제목까지 모은 것은 아니에요
/posts/study-a /posts/study-b
study-a: 공지 본문 받음
study-b: 로그인 화면 받음
study-a: 제목·날짜 추출
study-b: 본문을 못 읽어 보류
- 1수집할 상세 페이지의 주소를 찾아요.
- 2요청에 응답이 왔어도 원하는 본문인지 확인해요.
- 3접근 결과와 추출 결과를 분리해 기록해요.
먼저 실제로 받은 내용이 공지 본문인지 확인해요. 로그인 화면이나 오류 페이지를 정상 데이터로 저장하면 수집은 끝난 것처럼 보여도 결과는 틀릴 수 있어요. 링크 수와 성공적으로 읽은 페이지 수, 추출한 항목을 구분해서 기록해요.
헷갈리기 쉬운 점
크롤링과 스크래핑은 같은 말인가요?
함께 쓰거나 넓게 같은 뜻으로 쓰기도 해요. 구분하면 크롤링은 페이지를 찾아 접근하는 과정, 스크래핑은 받은 내용에서 제목·가격처럼 원하는 정보를 뽑는 작업에 가까워요. AI에게는 용어만 말하기보다 대상 페이지와 필요한 항목을 함께 알려 주세요.
대상 사이트의 수집 안내와 접근 범위를 확인하고, 요청 간격과 실패 시 재시도 횟수를 정해요. 차단이나 로그인 요구가 나오면 우회부터 시도하지 말고 공식 API나 내보내기 기능 등 이용 가능한 방법을 확인해요.
왜 알아야 할까요?
“수집 실패”를 페이지 접근 실패와 항목 추출 실패로 나누어 설명할 수 있어요. 페이지 구조가 바뀌었는지, 자바스크립트 실행이 필요한지 등 확인할 지점을 좁힐 수 있어요.
조금 더 자세히
HTML에 본문이 들어 있는 페이지와 브라우저에서 자바스크립트를 실행해야 내용이 나타나는 페이지는 수집 방법이 다를 수 있습니다. HTTP 요청만으로 충분한지 브라우저 자동화가 필요한지 실제 응답을 보고 판단합니다.
검색 엔진의 크롤링은 검색을 위한 수집 단계입니다. 내용을 읽었다고 반드시 색인에 저장하거나 검색 결과에 노출하는 것은 아닙니다. 일반적인 자료 수집 프로그램과 검색 엔진도 목적과 처리 규칙이 다릅니다.
직접 사용할 때 확인해 보세요
- 대상과 필요한 항목을 정한다
- 실제 응답이 원하는 본문인지 확인한다
- 접근 실패와 추출 실패를 따로 기록한다