ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 챗gpt 코딩으로 인스타그램 크롤링 하기(인스타 게시물 데이터 수집 성공)
    카테고리 없음 2024. 8. 21. 17:24

    챗gpt 활용해 인스타그램 크롤링 성공! 인스타그램 계정에 올라온 게시물 데이터(본문, 좋아요, 댓글) 수집하기

    인스타그램은 디지털마케팅 하면 빼놓을 수 없는 채널이죠. 하지만 인스타그램 API가 없는 경우 게시물 데이터 수집에 제약이 많습니다. API만 있으면 콘텐츠 데이터, 광고 데이터 등 많은 정보를 빠르게 수집할 수 있다고 해서 메타 디벨롭퍼스를 이용해 승인 절차를 밟아봤지만, 무참히 실패.

     

    그래서 방법을 강구하다가 챗GPT를 활용해 보면 어떨까해서 챗GPT과 파이썬 코드를 작성해봤어요. 일단 결론부터 말씀 드리면, 크롤링, 스크래핑, 코딩... 이런 용어는 생전 듣도 보도 못했던 저이지만, 챗GPT의 도움을 받아 특정 인스타그램 계정의 게시물 데이터를 수집하는 데에 성공했습니다. (감격...)

     

    제 노하우를 공유해 드리면, 많은 마케터, AE들이 조금이나마 도움 받지 않을까 하는 생각으로 챗gpt를 활용해 인스타그램에서 데이터를 자동으로 수집하고 이를 구글 시트에 정리할 수 있는 프로그램을 만든 과정을 설명 드려보려고 합니다. 

     

     

    1. 챗gpt 활용 1단계: 인스타그램 크롤링 목표 설정 "무엇을 구현하고 싶은가?"

    첫 번째 단계는 우선 내가 필요한 작업이 무엇인지 챗gpt에게 명확한 목표를 제시하는 것입니다. 코딩, HTML 이런 거 하나도 모르는 우리가 챗gpt의 도움을 받으려면 목표가 구체적인 게 좋더라구요. 예를 들어, 저는 다음과 같은 목표를 설정해 봤습니다.

     

    • 목표: "ㅇㅇ 인스타그램 계정에서 최근 8일 동안에 올라 온 게시물 데이터를 수집하고 싶어. 본문 내용, 좋아요 숫자, 댓글 숫자, 그리고 해당 게시글의 링크가 정리되길 원해. 수집한 데이터는 구글 시트에 연동해서 정리하고 싶어. 해당 내용을 기반으로 파이썬 코드를 작성해보자."

    챗gpt를 활용할 때에는 명확한 역할 부여가 필수적입니다. 페르소나를 꼭 지정해주시고, 본인의 상황, 필요사항에 대해서도 구체적으로 정보를 주세요.

     

    이러한 목표를 설정한 후, 챗GPT에 구체적인 요청을 하기 전, 이렇게 얘기해 주세요. "나는 코딩에 대해서는 하나도 모르는 비개발자야. 전문 코딩 개발자인 너의 도움이 필요해. 한 단계씩 천천히 진행하며 코드 작성을 도와줘." 챗gpt 페르소나 설정 없이, 그리고 나의 정보를 제시하지 않고 명령어를 입력하면 무지막지한 정보가 무차별적으로 쏟아집니다. 본 작업 전에 반드시 역할 부여를 해야 한다는 점 잊지 마세요!

     

    2. 챗GPT 활용 2단계: 인스타그램 크롤링을 위한 파이썬 코드 작성

    챗GPT에게 구체적인 내용을 요청하면서 '나는 비개발자라 아무것도 몰라(ㅜ_ㅜ) 전문가인 니가 좀 도와줘'라고 이야기 하면, 코드 작성에 필요한 라이브러리를 설치하도록 도움을 줍니다. 아, 그 전에 파이썬 설치는 기본입니다. 파이썬만 설치해 놓으면, 나머지는 챗gpt가 모두 알아서 해줘요. 아래의 코드는 한 번에 나온 것은 아니지만, 인스타그램 크롤링에 필요한 라이브러리를 모아 놓은 코드입니다. 맨 땅에 헤딩하기 보다.. 이런 정보를 미리 아신다면 챗gpt 활용에 도움이 되실 것 같아 정리 드려요!

     

     

    1) 사용된 주요 라이브러리

    • Selenium: 웹 페이지를 자동으로 제어하고 데이터를 수집할 수 있는 라이브러리입니다. 웹 페이지에서 요소를 찾아내고, 이를 클릭하거나 데이터를 추출하는 데 사용됩니다.
    • gspread: 파이썬으로 구글 시트를 제어할 수 있게 해주는 라이브러리입니다. 수집한 데이터를 구글 시트에 자동으로 정리하는 데 사용됩니다.
    • oauth2client: 구글 API와 같은 서비스를 사용하기 위한 인증 절차를 처리해주는 라이브러리입니다. 구글 서비스에 안전하게 접근할 수 있도록 도와줍니다.
    • datetime, timedelta: 날짜와 시간을 다루기 위해 사용되는 라이브러리입니다. 최근 8일간의 게시물만 수집하는 기능을 구현할 때 사용됩니다.
    • collections.Counter: 수집된 데이터에서 단어의 빈도수를 계산하기 위해 사용되는 라이브러리입니다. 이를 통해 포스팅 공통 사용 키워드를 추출할 수 있습니다.

     

    2) HTML 요소 확인 및 데이터 추출

    코딩을 작성할 때, 챗gpt가 파이썬의 다양한 라이브러리를 확인해도 제대로 파이썬 코드가 작동하지 않는 경우가 있습니다. 엉뚱한 영역이 추출되는 경우도 있구요. 이럴 때에는 페이지 검사를 통해 HTML 요소를 찾아야 합니다. 페이지에 개발자 도구, 검사라는 게 있는지도 처음 알았지만, 생각보다 어렵지는 않았습니다.

     

    우선 인스타그램에서 본문, 좋아요, 댓글 등의 데이터를 추출하려면, 인스타그램 페이지에서 해당 데이터가 포함된 HTML 요소를 찾아야 하는데요. 게시물의 좋아요 수, 댓글 수, 본문 내용 등의 요소는 전체 HTML에서 특정된 부분에 포함되어 있습니다.

    수집하려는 영역 위에서 마우스 우측 버튼을 눌러 '검사'를 클릭하면 하단 혹은 우측 영역에 HTML 요소를 볼 수 있는 창이 뜹니다.

     

    3) HTML 요소를 확인하는 방법

    비개발자가 HTML 요소를 찾는 방법은 다음과 같습니다:

    1. 브라우저 개발자 도구 열기: 크롬 또는 파이어폭스 브라우저에서 F12를 누르거나, 페이지에서 마우스 오른쪽 버튼을 클릭하고 "검사"를 선택합니다.
    2. 요소 선택: 개발자 도구에서 "요소 선택기"를 사용해 페이지에서 데이터를 추출하고자 하는 부분을 클릭합니다. 그러면 해당 부분의 HTML 코드가 강조되어 나타납니다.
    3. CSS 선택자 확인: 강조된 HTML 코드에서 클래스 이름이나 태그 이름을 사용해 해당 요소를 가리키는 CSS 선택자를 확인합니다.

     

    예를 들어, 인스타그램의 좋아요 수는 위와 같은 HTML 요소에 포함되어 있어요. HTML 코드에서 class="html-span xdj266r"를 가진 <span> 요소가 좋아요 수를 표시하는 부분입니다. 이를 이용해 데이터 추출 코드를 작성할 수 있는데요. 물론 우리가 직접 작성하지 않아도 됩니다. 이 정보를 챗gpt에게 주면 알아서 척척 필요한 부분만 골라 아래와 같이 코드를 작성해주거든요.

     

     

    4) 웹 페이지 조작

    코드를 작성하면서 지속적으로 문제가 됐던 게 게시물 자체나 혹은 데이터를 수집하기도 전에 창이 꺼지는 현상이었어요. 챗gpt에게 해결법을 물으니 돌고 돌아 웹 페이지 조작에 대한 정보를 줬는데, 개인적으로는 정말 어렵게 얻은 정보였습니다. 스무고개 하듯이 찾은 내용이에요.

     

    인스타그램과 같은 동적 웹사이트에서는 스크롤을 통해 더 많은 게시물을 로드하거나, 특정 요소에 마우스를 올려야 데이터를 표시하는 경우가 많다고 해요. 이때 Selenium 라이브러리의 ActionChains와 같은 도구를 사용하면 스크롤을 내리거나 마우스 오버 등의 페이지 조작을 자동화할 수 있답니다. (마우스 오버는 잘 안되는 것 같았지만요..) 예를 들어, 게시물 목록을 스크롤하거나 클릭하는 작업은 다음과 같은 코드로 처리할 수 있습니다.

     

     

    5) 챗GPT와 함께 구글 시트에 데이터 연동

    코드가 어느 정도 작성되고, 데이터 수집이 정상적으로 작동되는 게 확인이 되면, 수집된 데이터를 관리할 수 있는 툴이 추가적으로 필요한데요. 저는 구글 시트 API를 받아 놓은 것이 있어서 구글 시트로 연결해 데이터를 정리하도록 했습니다. 구글 시트와 연동하기 위한 구글 API 설정 및 서비스 계정 키 파일 다운로드는 구글 클라우드 콘솔에서 어렵지 않게 하실 수 있는데, 별도 포스팅을 통해 설명 드릴게요. 

     

    구글 클라우드 콘솔 - 라이브러리에서 'google sheet'를 검색하고 추가하면 API 설정이 가능해집니다

     

    수집한 데이터를 구글 시트에 정리하기 위한 준비가 완료되면 챗gpt에게 다운로드 받아 놓은 서비스 계정 키 파일(json 파일)의 경로와 파일명을 전달하고, 연동하고자 하는 구글 시트명, 워크시트명을 제공하면 됩니다. 아래와 같이요.

     

     

     

    그럼 아래와 같이 시트가 짠 정리가 됩니다. 파이썬 코드로 출력된 결과와 구글 스프레드 시트로 정리된 모습을 보여 드릴게요. 계정은 참고로 커피 브랜드 카누 계정을 테스트 해봤습니다. 영상으로 보시죠! (감동의 순간..)

     

    인스타그램 계정 모니터링 시 유용한 게시물 데이터 수집(링크, 반응 수, 본문을 구글시트=엑셀로 짜란~*)

     

    구글 시트에 연동되어 자동 작성된 인스타그램 데이터

     

     

    비개발자도 (고난과 역경의 시간이 필요하기는 합니다만..) 챗GPT를 활용해서 인스타그램 데이터를 자동으로 수집하고 구글 시트에 정리할 수 있다는 걸 보여 드리고자 지금까지 얕은 지식으로 썰을 풀어 봤는데요. 별거 아닌 기능이지만, 제안서를 쓸 때나 경쟁사 케이스 스터디를 할 때 필요한 로우 데이터를 굳이 팀원들이 하지 않아도 자동으로 수집이 가능해서 만족하고 있습니다. 

     

     

    여기에 나아가 최근에 댓글 수집 코드도 만들어 보고 있는 중인데요. 70% 정도 성공한 모습을 스포로 올려 드리며... 다음 포스팅 때는 인스타그램 댓글 수집 코드도 소개해 드릴게요. 오류가 없으면 인스타그램 이벤트를 운영하며 댓글 수집으로 고통받고 있는 디지털 마케터, AE들이 실제 활용해 보실 수 있도록 유용한 포스팅으로 돌아오겠습니다. 

     

     

     

     

Designed by Tistory.