[python] 블로그 자동 포스팅 프로그램 with 쿠팡 파트너스 - 4 크롤링한 정보 엑셀에 저장하기

    지난 포스팅에서 상품의 링크, 리뷰, 대표이미지, 이름을 가져오는 것까지 성공했었다. 나는 이 정보들을 토대로 생성형 AI인 chat-GPT API를 사용해 블로그 글을 생성해서 자동 포스팅 하는 것 까지 계획했었다. 우선 일차적으로 크롤링한 정보들을 엑셀에 저장하고 저장된 정보를 바탕으로 GPT를 통해 2차 가공을 할 계획이다.

     

    Python의 openpyxl 라이브러리를 사용하여 크롤링 한 정보들을 저장하였다. 그리고 저장한 정보들을 보며 한 가지 문제를 발견하였다.

    나는 각 상품의 링크를 먼저 가져오고 그 링크를 타고 들어가 이미지와 리뷰, 제목등을 가져온다.

    링크를 가져오는 방식은 쿠팡 파트너스 페이지에서 링크 생성 페이지로 들어가서 복사 후 저장, 뒤로가기의 과정을 반복한다.

    뒤로가기를 했을 때 쿠팡 파트너스 페이지가 새로고침 되며 상품의 순서가 바뀌고 중복된 값이 들어갈 때가 있는 것이다.

    사진을 보면 중복 값이 들어가 있는 것을 확인할 수 있을 것이다.

     

    이런 저런 시도를 해봤지만 100%의 완벽한 해결 방법은 찾지 못했다. 결국 버려지는 상품은 감수하기로 하고 같은 글이 두번 써지는 것과 OpenAI API가 무분별하게 사용되는 것을 우려해 엑셀 후처리 과정에서 중복되는 값을 삭제하는 것을 솔루션으로 세웠다. 

     

    #중복값 제거코드
        seen = set()
        rows_to_delete = []

        # 2번째 행부터 데이터 확인 (1번째 행은 헤더)
        for row in range(2, ws.max_row + 1):
            titles = ws.cell(row=row, column=4).value  # title 컬럼 값 가져오기

            if titles in seen:  # 이미 존재하면 삭제 리스트에 추가
                rows_to_delete.append(row)
            else:
                seen.add(titles)  # 처음 등장하는 값은 저장

        # 중복 행 삭제 (뒤에서부터 삭제해야 인덱스가 틀어지지 않음)
        for row in reversed(rows_to_delete):
            ws.delete_rows(row)

        #저장
        wb.save(file_path)
        wb.close()

     

     

    이렇게 중복 제가와 엑셀 저장까지 마무리했다.

    댓글