ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 크롤링 외주 맡기기 전에 정할 네 가지 (스크래핑 차이까지)
    외주개발 2026. 9. 25. 09:09

    스크래핑과 크롤링을 같이 붙여서 검색하는 경우가 많다.

    받는 쪽에서 보면 둘은 다른 작업이고, 어느 쪽인지에 따라 견적이 갈린다

    다음에서 스크래핑을 검색한 결과

    둘을 나누는 기준은 "찾기"다

    크롤링     링크를 따라다니며 대상을 찾아낸다
    스크래핑    이미 아는 페이지에서 값을 뽑아낸다

    주소를 알고 있으면 스크래핑이고, 주소부터 찾아야 하면 크롤링이 앞에 붙는다

    실무에서는 둘이 붙어 다닌다. 목록 페이지를 돌아 상세 주소를 모으고(크롤링), 각 상세에서 항목을 뽑는다(스크래핑)

    아래에 이런 걸 적었다
    · 둘을 나누는 기준은 "찾기"다
    · 어느 쪽이냐에 따라 견적이 다르다
    · 의뢰할 때는 이렇게 말하면 된다
    · 금액을 크게 바꾸는 건 따로 있다
    · 하나 — 툴로 되는 일인지 먼저 본다
    필요한 데로 내려가면 됨

    어느 쪽이냐에 따라 견적이 다르다

    robots.txt 에 적힌 수집 허용 범위 - 실제 조회 결과

    스크래핑만 하면 뽑을 항목 수가 작업량이다. 비교적 계산이 쉽다

    크롤링이 붙으면 이게 붙는다.

    • 어디까지 돌 것인가 — 페이지 끝을 어떻게 알 것인가
    • 중복 제거 — 같은 대상이 여러 경로로 나온다
    • 이어받기 — 중간에 끊기면 어디부터 다시 하나
    • 속도 조절 — 너무 빨리 돌면 막힌다

    "목록 좀 긁어주세요"가 크롤링인지 스크래핑인지부터 안 적혀 있는 경우가 많다. 요건을 어떻게 적으면 되는지는 따로 정리했다

    의뢰할 때는 이렇게 말하면 된다

    소스에 값이 있는지 확인한 실제 출력

    용어를 정확히 쓸 필요는 없다. 대신 이 세 가지를 적으면 된다

    ① 시작 주소가 있는가      있으면 그대로 준다 · 없으면 어떻게 찾는지 설명한다
    ② 대상이 몇 개인가        목록에서 몇 건쯤 나오는지
    ③ 각 건에서 뭘 뽑는가      화면에서 보이는 항목 그대로

    이러면 받는 쪽이 알아서 크롤링이 필요한지 스크래핑만으로 되는지 판단한다

    용어를 맞추려다 오히려 틀리게 전달되는 경우가 있다. 화면 기준으로 말하는 게 정확하다

    금액을 크게 바꾸는 건 따로 있다

    용어보다 대상 사이트가 어떻게 생겼느냐가 금액을 더 바꾼다.

    정적 HTML           제일 싸다
    자바스크립트 렌더링    브라우저를 띄워야 한다
    로그인 · 세션        계정 처리가 붙는다
    차단 · 캡차          여기서 계단으로 올라간다

    비용이 어디서 갈리는지는 따로 적어놨다

    그리고 받는 형식도 미리 말해두는 게 좋다. csv로 받을 거면 인코딩까지 같이 정하면 왕복이 줄어든다

    용어를 맞추는 것보다 화면을 보여주는 게 빠르다

    하나 — 툴로 되는 일인지 먼저 본다

    무조건 외주부터 찾을 필요는 없다. 직접 되는 구간이 있다

    표로 된 페이지        시트의 가져오기 기능으로 되는 경우가 있다
    공개 API 가 있는 곳    화면을 긁을 필요가 없다
    한 번만 필요한 수십 건  손으로 복사하는 게 빠를 때도 있다

    공개 API가 이미 있는데 화면을 긁으려는 경우가 실제로 있었다. 그건 굳이 만들 필요가 없는 일이고, 그래서 의뢰할 때 목적을 같이 적으라고 하는 것이다

    구글 시트로 가져오는 방법은 따로 적어놨다

    여기서부터는 사람이 필요하다

    • 로그인 뒤 데이터 — 세션이 붙는 순간 툴이 잘 안 된다
    • 자바스크립트로 그려지는 화면 — 소스에 값이 없다
    • 차단·캡차 — 여기서 대부분 멈춘다
    • 정기 실행 — 매일 돌려야 하면 돌릴 환경이 필요하다
    • 수만 건 이상 — 중간 저장·재시도·이어받기가 붙는다

    페이지 소스에 값이 있는지 확인한 실제 출력

    소스에 값이 있는지는 직접 확인할 수 있다. 화면에는 보이는데 소스에 없으면 자바스크립트로 그리는 것이고, 그러면 브라우저를 띄워야 해서 작업이 는다

    막힌 지점이 곧 요건이다. 그 상태로 의뢰하면 견적이 반으로 좁아진다

    안 해보고 의뢰   "목록 좀 긁어주세요"           → 견적이 넓게 나온다
    해보고 의뢰      "여기까지 됐는데 로그인에서 막힘"  → 범위가 좁다

    둘 — 한 번인지 매일인지

    여기서 금액이 제일 크게 갈린다. 발주하는 쪽에서는 같은 일로 보이는데 받는 쪽에서는 다른 물건이다

    한 번    스크립트 하나로 끝난다 · 결과 파일을 넘기면 완료다
    반복    돌릴 환경 · 실패 알림 · 중복 제거 · 변경 대응이 붙는다

    정기 실행을 위한 스케줄 등록 상태

    ① 돌릴 환경 — 내 노트북에서 돌리면 노트북을 켜둬야 한다. 그래서 서버나 클라우드가 필요해지고 월 비용이 생긴다

    ② 실패 알림 — 밤에 조용히 실패하면 아무도 모른다. 알려주는 장치가 있어야 한다

    ③ 중복 제거 — 어제 받은 것과 오늘 받은 것이 겹친다. 뭐가 새 것인지 구분할 기준이 필요하다

    ④ 변경 대응 — 대상 사이트가 바뀌면 멈춘다. 손봐야 하고, 그게 유지보수 계약이 된다

    주기는 필요에서 역산한다

    "실시간"을 말하게 되는데 실제로 필요한 경우는 드물다.

    매일    전날 것으로 판단해도 되나
    매주    주 단위 흐름만 보면 되나
    한 번    지금 상태만 알면 되나

    언제 보는지를 먼저 정하면 주기가 나온다. 주 1회로 보는 데이터를 매일 모을 이유가 없고, 주기가 길수록 차단당할 확률도 낮아진다

    처음부터 정기로 잡으면 쓸지 안 쓸지 모르는 상태에서 운영비가 시작된다. 한 번 받아보고 정하는 편이 낫다

    셋 — 차단이 걸려 있나

    차단이 있으면 데이터를 옮기는 건 금방인데 못 들어가서 시간을 쓴다

    응답 헤더로 리다이렉트와 차단을 확인한 결과

    속도 제한     빠르게 여러 번 부르면 잠깐 막는다 · 늦추면 지나간다
    차단 페이지    사람이 아닌 것 같으면 다른 화면을 준다
    캡차         그림이나 퍼즐을 풀라고 한다
    로그인 요구    비회원에게는 목록만 보여준다

    앞의 둘은 속도를 늦추면 대개 지나간다. 뒤의 둘부터 작업이 크게 는다 — 재시도 처리, 속도 조절, 중간 저장이 붙고, 오늘 되던 게 내일 안 될 수 있어서 유지보수가 따라온다

    실패 응답이 섞이는 실제 결과

    수만 건을 돌면 이런 실패가 섞인다. 실패한 건만 다시 도는 로직이 없으면 처음부터 다시 돌려야 한다

    막힌다고 다 뚫는 건 아니다

    robots.txt 에 적힌 수집 허용 범위 - 실제 조회 결과

    기술적으로 가능한지와 해도 되는지는 다른 문제다.

    • 이용약관 — 사이트가 자동 수집을 금지하고 있을 수 있다
    • robots.txt — 수집을 허용하는 범위가 적혀 있다
    • 공개 API — 있으면 그쪽이 정식이고 대개 더 싸다

    넷 — 대상 사이트가 어떻게 생겼나

    툴로 하든 사람이 하든 대상 구조가 금액을 제일 크게 바꾼다

    정적 HTML          제일 싸다 · 툴로도 되는 경우가 많다
    자바스크립트 렌더링   브라우저를 띄워야 한다 · 느려지고 서버가 든다
    로그인 · 세션       계정 처리가 붙는다
    차단 · 캡차         여기서 계단으로 올라간다

    비용이 어디서 갈리는지는 따로 적었다. 그리고 크롤링인지 스크래핑인지도 같이 정해두면 견적이 정확해진다

    받는 형식도 미리 말해두는 게 좋다. csv로 넘길 거면 인코딩까지 같이 정하면 왕복이 준다

    견적을 잘 받는 방법은 값을 깎는 게 아니라 범위를 좁혀주는 것이다

    크롤링과 스크래핑, 짧게 정리

    • 툴로 되는 구간이 있다. 표 형태·공개 API·소량은 직접 되는 경우가 많다
    • 막힌 지점이 곧 요건이다. 그 상태로 의뢰하면 견적이 좁아진다
    • 한 번과 반복은 다른 물건이다. 견적이 두세 배 갈린다
    • 반복이면 환경·알림·중복제거·변경대응이 붙는다. 월 비용이 생긴다
    • 주기는 언제 보는지에서 역산한다. 실시간이 필요한 경우는 드물다
    • 차단은 속도 제한까지는 넘어간다. 캡차부터 계단으로 오른다
    • 약관과 robots.txt 를 먼저 본다. 공개 API가 있으면 그쪽이 싸다
    • 금액을 가르는 건 대상 사이트 구조다. 정적이면 싸고 차단이 있으면 오른다

    "매일 받으면 좋죠"가 제일 비싼 한마디가 되는 경우가 많다

    정리하면

    • 크롤링은 찾는 것, 스크래핑은 뽑는 것이다. 주소를 아느냐로 갈린다
    • 실무에서는 둘이 붙어 다닌다. 목록을 돌고 상세를 뽑는다
    • 크롤링이 붙으면 중복·이어받기·속도 조절이 따라온다
    • 용어를 맞출 필요는 없다. 시작 주소·건수·뽑을 항목만 적으면 된다
    • 금액은 대상 사이트 구조가 더 크게 바꾼다. 차단이 있으면 계단으로 오른다
    • 받는 형식을 미리 정한다. 다 만들고 다시 만드는 걸 막는다

    둘을 섞어 써도 일은 된다. 다만 어느 쪽인지 안 적혀 있으면 견적이 넓게 나온다

    같이 보면 좋은 글

운영 프리시 · 상호 앤디 · 대표 손영은 · 사업자등록번호 708-38-01407
경기도 안산시 상록구 해안로 705, 3동 1층 107호 · son970523@khu.ac.kr
Designed by Tistory.