[python] 블로그 자동 포스팅 프로그램 with 쿠팡 파트너스 - 1 자동로그인 BeautifulSoup, Selenium

    최근 취업을 위해 여러 회사들을 알아보던 중 RPA(Robotic Process Automation) 에 관심이 생겼다. 가벼운 예제들을 갖고 공부를 해봤는데, 실생활에 바로 적용할만한 재미난 프로젝트들도 많이 떠오르고 재미를 느끼게 되었다.

    RPA는 내가 할 프로젝트에서는 좁은 의미로 업무 자동화로 말할 수 있다. 나의 첫 RPA프로젝트로는 쿠팡 파트너스 상품 홍보를 자동 포스팅하여 수수료를 통해 수익을 낼 수 있는 프로그램을 만들기로 했다.

    입사를 위한 포트폴리오 겸 실제 수익을 내서 나의 용돈을 채울 겸 exe파일로 만들어서 판매도 해볼 겸, etc... 원대한 목표를 갖고 프로젝트를 시작하게 되었다.

     

    나의 계획은 이러했다.

    1. 쿠팡 파트너스 API를 활용해서 상품들의 url, 사진, 리뷰를 긁어와 엑셀에 저장
    2. chatGPT API를 사용하여 엑셀의 정보들을 바탕으로 블로그 형식의 글로 재구성
    3. 재구성 한 글을 블로그에 포스팅

    이 전 과정을 자동화하여 질보다 양! 블로그에 무한 포스팅을 하려고 했었으나....

     

    쿠팡 파트너스 API를 활용하면 상품들을 쉽게 가져올 수 있지만 쿠팡 파트너스로 15만원 이상의 수익금을 만들고 최종승인을 받아야 API 사용이 가능하다는 문제점을 직면했다. 결국 API가 아닌 크롤링으로 직접 가져오기로 했다!

     

    파이썬 크롤링은 크게 두가지 라이브러리로 나눌 수 있다. BeautifulSoup과 Selenium이다.

    각각의 장단점을 비교해보자면 이러하다.

      Selenium BeautifulSoup
    주요 기능 웹 브라우저 자동화 (입력, 클릭, 스크롤 등 가능) HTML 파싱 및 데이터 추출
    JavaScript 처리 가능 (동적 웹사이트 크롤링 가능) 불가능 (정적인 HTML만 처리)
    속도 느림 (브라우저를 실행해야 함) 빠름 (HTML 문자열을 직접 분석)
    로그인 기능 가능 (ID/PW 입력 후 로그인 버튼 클릭 가능) 불가능 (로그인 세션을 직접 유지할 수 없음)
    데이터 크롤링 동적·정적 페이지 크롤링 가능 정적 HTML 데이터만 가능
    설치 및 설정 WebDriver 필요 (예: ChromeDriver) 간단한 설치 (pip install beautifulsoup4)
    리소스 사용량 높음 (브라우저 실행 필요) 낮음 (텍스트 파싱만 수행)
    스크래핑 제한 우회 가능 (사람처럼 동작 가능) 어렵거나 불가능
    헤드리스 모드 지원 가능 (브라우저 창 없이 실행 가능) N/A
    쿠키/세션 유지 가능 (로그인 상태 유지 가능) 불가능 (별도 요청 라이브러리 필요)

     

    쉽게 말해 BeautifulSoup은 빠르게 동작하지만 동적 웹사이트에서의 크롤링이나 스크롤, 클릭처럼 사람과 같은 동작을 할 수 없다. Selenium은 비교적 느리지만 동적인 웹사이트에서 사람과 같은 동작이 가능하다.

     

    나의 경우에는 쿠팡 파트너스 로그인을 하고 검색어를 입력한 뒤 각 상품에 대한 나의 url과 리뷰를 가져와야 하기 때문에 Selenium을 사용했다.

    하지만 쿠팡에서 자동 로그인을 막아놓아 selenuim의 기본적인 로그인 자동화 방식으로는 접근이 불가능했다. 그래서 크롬에서 셀레니움 자동화를 탐지할 수 있는 요소들을 최대한 제한시키고 나니 로그인에 성공했다.

    댓글