크롤러 개발

이규황·2023년 5월 8일
0

크롤러란?

크롤러는 일반적으로 데이터 수집을 목적으로 World Wide Web을 체계적으로 탐색하는 자동화된 프로그램입니다. 크롤링 프로세스에는 지속적이고 자동화된 방식으로 웹 페이지 방문, 링크 추출 및 해당 링크를 따라 다른 페이지로 연결되는 작업이 포함됩니다.

왜?

나의 경우 크롤러 개발이 필요했던 이유는... 온라인 채널에 아직 API 연동이 어려운 경우가 많다. 기업간 개발협업이 이루어지기 위해서는 참 많은 단계가 필요하다. 그렇기 때문에 우리는 필요한 정보를 가장 개발자답게 가져올 수 있지 않는가? 바로 크롤러 개발을 통해 우리가 필요로 하는 상품정보, 주문정보 등 다양한 정보를 가져올 수 있다.

어떻게 만들었나?

회사에서 진행 했던 내용이라 코드나 레포를 공개하지는 못한다... ㅠㅠ 그래서 아쉽지만 리드미에 간단하게 사용하기 위한 방법을 작성했던 내용을 작성해본다.

판매하는 상품을 수집하는 수집기의 구조와 사용 방법

빠르게 JSON 데이터를 저장하고 읽기 위해서 몽고디비를 사용.

  1. 지역 정보 가져오기
    python -m collector.trip load-region
    마리트에서 저장하고 있는 지역 정보를 City와 Country로 나눠서 가져옵니다.
    RegionCity와 RegionCountry라는 2개의 collection이 새로 생깁니다.
  2. 상품 목록 가져오기
    python -m collector.trip load-product-list
    기본적으로 어떤 상품이 있는지를 리스트업 합니다.
    가져온 상품은 TourProduct라는 collection에 추가됩니다.
  3. 상품 상세 정보 가져오기
    python -m collector.trip load-product-list
    상품 페이지에서 보내주고 있는 자세한 상품 raw 데이터를 가져옵니다.
    TourProductDetail이라는 collection에 추가됩니다.
  4. 상품 수 확인하기
    python -m collector.trip check-product-count
    크롤러의 구조상 collection에 document가 중복해서 들어갈 수 있어, unique한 기준을 통해 상품 수를 확인합니다.
  5. 공통 구조로 변환하기
    python -m collector.trip convert-to-common
    상세 정보가 저장되어있는 상품을 공통 구조로 변환해서 출력합니다.
  6. 판매하지 않는 상품도 가져오기
    python -m collector.trip load-random-product
    상품 ID에 따라서 상품 정보가 있는지를 확인해서 정보를 저장합니다.
    상품 정보가 없을 경우 빈 값을 넣어서 없다는 표시를 해 둡니다.
  7. 사진 불러오기
    python -m collector.trip load-product-photo
    상품 사진을 저장합니다.
profile
도전중

0개의 댓글