챗지피티가 나오기 전 만 하더라도 ‘크롤링’은 코딩을 할 줄 알아야한다는 장벽때문에 많은 사람들이 쉽게 하기 힘든 작업이었습니다. 생성형AI가 나온 이후에는 browse.ai or octoparse.kr 같이 쉽게 크롤링해주는 툴들이 등장했지만, 비용이 상당히 비쌉니다. 그래서!! 코딩을 모르는 사람도 생성형 AI의 도움을 받아서 손쉽게 크롤링 할 수 있는 방법을 알아내고자 시작하게 되었습니다. 쉽게 접근하기 위해 멜론차트 (https://www.melon.com/chart/index.htm) 를 크롤링 해보겠습니다. 멜론차트 페이지에서 곡 순위, 곡 이름, 가수 이름, 앨범명, 좋아요 수 데이터를 추출해내고자 합니다.
첫 번째 방법 : BingChat 활용하기
BingChat은 실시간 웹의 정보를 GPT에게 입력할 수 있습니다. 그렇다면 크롤링도 가능하지 않을까??
오오!! GPT가 크롤링 코드를 짜주는군요:) 코드를 복사해서 실행을 해보겠습니다!
실행결과가 나오지 않네요… 무엇이 문제지….
다시 웹브라우저로 돌아가서 개발자 도구를 열고 HTML구조를 살펴보니.. BingChat이 짜준 태그 정보가 엉터리였습니다. 크롤링은 HTML의 태그 정보를 보고, 그 위치의 데이터를 불러오는 기술인데, 실제 태그 정보와 BingChat이 짜준 태그 정보가 전혀 맞지 않았습니다. 예를 들어 실제 멜론차트 페이지에서 곡 이름의 태그 정보는 ‘ellipsis rank01’ 인데, BingChat은 ‘sing-name-class-name’으로 되어 있네요. 그래서 프롬프트를 다시 입력해보았습니다.
BingChat은 웹페이지의 HTML구조를 확인하는 기능이 없다고 하네요..ㅠㅠ
두 번째 방법 : ChatGPT에게 물어보기
이번에는 해당 페이지의 정보를 ChatGPT에게 입력한 후 크롤링할 수 있는 코드를 짜달라고 해보는 것은 어떨까요? 보통 웹페이지의 정보는 상당히 많습니다. 모두를 넣기에는 어렵습니다. 곡 순위가 1위 곡의 데이터만을 샘플로 가져와서 ChatGPT에게 입력해보겠습니다. 방법은 다음과 같습니다.
1) 멜론 차트에서 개발자 도구 열기
2) 1위 곡 정보 모두가 음영으로 표시되었을 때, 오른쪽 마우스 버튼 누르기
3) 메뉴에서 copy를 누르고 copy element 누르기
copy를 했으면 ChatGPT에게 붙여놓기를 합니다. 그리고 크롤링을 해달라고 ChatGPT에게 말합니다.
ㅎㅎ 그냥 크롤링을 해버렸군요. 크롤링해주는 파이썬 코드를 작성해달라고 바꿔봅니다.
코드를 복사해서 실행해보겠습니다.
엑셀파일로 받아보겠습니다.
코드를 실행해보겠습니다.
실시간 멜론 차트 정보를 엑셀파일로 받아볼 수 있었습니다. 그런데!! 좋아요 수 데이터가 다 0이네요.
좋아요 수는 동적 크롤링을 사용해야 한다고 하네요.
이상! 코딩을 하나도 몰라도 ChatGPT로 크롤링을 시도해보았습니다. 완벽하지는 않지만, ChatGPT가 크롤링에 많은 도움을 준다는 점을 알 수 있었습니다.
#9기AI알바생