나는 개발자다. 개발자는 언어를 다룰 줄 안다.(C++부터 시작해서 델파이(PASCAL), JAVA, C#, PHP, 자바스크립트에 이르기까지...) 왠지 이 문장은 어딘가에 쓰고 반복한 듯하다. 아무튼 나는 다양한(?) 언어를 쓸 줄 알고 비교적 쉽게 적응하는 편이며, 새로운 언어도 익히고 싶지만, 게으름 덕분에 마음만 가득 찬 언어도 있다. 그 언어는 바로 애증의 파이썬이다.
파이썬으로 무엇을 할 수 있을까? 모른다. 알고 언어를 배우는 개발자는 없을 것이다. 물론 분명한 목적을 지니고 언어에 뛰어드는 경우도 있지만, 막연하게 혹은 인기를 끌고 있다는 이유, 앞으로 요긴하게 써먹을 확률이 높다는 이유 때문에 맹목적으로 배우기도 한다. 하지만 나는 그런 유혹조차 느끼지 못해서 파이썬을 배우지 않았다.
파이썬이 생긴 지는 오래됐다.(지금 찾아보니 1991년이다. 내가 90학번이니 흠...) 내가 현업에서 일한 지 거의 30년이 다 되어가는데, 내가 프로그래밍 언어를 막 배우기 시작한 때부터 언급되었으니, 역사에 대해선 굳이 강조하지 않아도 될 것 같다.
파이썬 이야기를 왜 꺼냈냐 하면, 어떤 업무를 자동화하고 싶었기 때문이다. 사실 그 업무라고 했지만 업무라기보다는 개인적인 관심사 혹은 귀찮게 일일이 손으로 확인해야 하는 절차들을 자동화하고 싶은 이유 탓이다. 그런데 그 귀찮은 작업을 자동화하려면 품이 든다. 파이썬의 문법을 공부해야 하고 감을 익혀야 하며 제대로 작동하도록 코드를 한 땀 한 땀 입력해야 한다는 뜻이다.(이제 나이 먹으니 시작하기가 더 힘들어졌다.)
그런데 그렇게 할 필요가 없어졌다. 챗GPT가 생겼기 때문이다. 그래서 질문을 툭 던졌다. 내가 아니라 챗GPT에게. 즉흥적으로.
일단 물었다. 진지하게는 아니고 귀찮다. 질문을 던지는데 이거 뭔가 고백하는 느낌이다. 세 줄 입력하는 것도 이제 귀찮다. 그래서 마이크에 대고 말하면 자동으로 텍스트로 변환해 주는 기능을 활용한다. 물으니 어쨌든 대답은 해준다. 주저리주저리, 뭘 하라고 지시한다. 귀찮지만 터미널을 열고 챗GPT의 명령을 따른다.
요약
파이썬 설치(자신의 OS에 맞는...)
에디터 설치(Visual Studio Code가 대세, 공짜)
파이썬 확장 설치
이 정도의 작업은 누워서 오리지널 다이제스티브 비스킷 먹는 수준이다. 물론 개발자에게만……
이제 두 번째 주문을 챗GPT에게 던진다. 입력해 놓고 보니 오타까지 입력했다. 어지간히 급했나 보다.
그래 맞아. 그걸 웹 스크래이핑이라고 했다. 웹 브라우저를 통해서 웹을 컨트롤하려면 웹 스크래이핑이라는 주제로 자료를 찾아야 한다. 파이썬에서 그 기능을 쓰려면 Beautiful Soup과 requests를 써야 한단다. 음, 들어보긴 했다. 일단 시키는 대로 그대로 따라 한다. 터미널에서 명령어를 붙여 넣기 하면 된다.
그다음 주문을 실행한다. 음 Visual Studio는 써봤지만 Visual Studio Code는 안 써봤다. 나는 윈도우 프로그램 개발자다. 웹은 모른다. HTML, 자바스크립트, 이런 거 모른다.(솔직히 알지만... 돈 받으면 할지도) 제발 나에게 홈페이지 만들어달라고 청탁하지 마라. 못한다고 말하면 거짓말 같다고 생각하는 당신이 정말 밉다.
그래, 저렇게 간단했다. 파일을 생성하면 되는구나. 그 간단한 걸 못했네. 똑똑한 챗GPT는 모르는 게 없네. 알면서도 모른 척하고 알려달라고 해본다.
자, 이제 문제는 본격적으로 복잡해진다. 내가 원하는 것은 오늘 올린 내 브런치 글에 접속하지 않고도 좋아요 받은 숫자를 알고 싶다. 어차피 5개 미만이라서 굳이 확인할 필요가 있는지 모르겠지만... 소파에 등을 깔고 누워서, 아이가 먹던 팝콘을 뺏어 먹으면서(딩크라서 솔직히 아이는 없다. 상황상 그렇다는 거다.) 오늘 올린 브런치 글이 몇 개의 좋아요를 받았는지 궁금하다. 그걸 알려면 웹 페이지에서 속하는 좋아요가 부분의 HTML 코드를 분석해야 한다.
그것은 크롬의 개발자 도구를 활용하면 알아낼 수 있다. 브런치의 좋아요 숫자가 위치한 HTML 구조를 분석해 보니...
저렇게 하면 된단다. 아주 쉽군! 너무나 쉬워. 해보자고. 저기서 16만 읽어오면 되는 거라고!
그런데 이런, 에러가 났다. 나는 에러를 복사해서 챗GPT에게 따진다. 시키는 대로 했을 뿐이다. 화를 내도 된다. 짜증을 부려도 된다. 다만 욕은 하지 말자. 친절하게 버그 증상에 대해 문의한다.
그래서 다시 집요하게 브런치의 HTML을 분석해서 해당 부분의 코드를 다시 챗GPT에게 보냈다. 빨리 분석해 내! 3초 안에 대답해! 아예 해당 부분의 코드를 전부 보낸다.
앗! 정말로 돌아간다. 아래 챗GPT가 조언한 코드를 입력했더니 정말로 좋아요 숫자를 자동으로 가져온다.
이렇게 하면 정말로 특정 브런치 글의 좋아요 숫자와 댓글 숫자를 가져올 수 있다. 수고한 챗GPT에게 격려의 메시지를 보낸다.
자, 여기서 조금 사악한 생각으로 코드를 응용해 본다. 이제 내가 구독하는 사람들이 나를 계속 구독하는 걸 확인하고 싶은 것이다. 그 사람이 구독하는 수백 명의 명단 중에서 내가 과연 존재하는지 확인해야 한다. 그것이 현재 나의 안티태제다.
그것 역시 실로 간단하다. 파이썬을 다룰 줄 몰라도, 문법을 하나도 몰라도, 개발자가 아니라도(음 이것은 조금 곤란할 듯. 언어의 기본은 되어야 한다.) 충분히 가능하다? 고 믿고 싶다.
이 글의 반응이 좋으면 내가 구독하는 사람의 브런치의 팔로워 목록을 가져와서 내가 그 목록에 여전히 존재하는지 확인하는 프롬프트 엔지니어링? 아니 코드를 공개하도록 하겠다. 물론 그 기능은 완벽하게 동작하며 더 사악한 생각을 해보자면 브런치 최신 글을 띄워서 자동으로 좋아요 버튼을 누르는 것까지 가능하다.
그런데 좋아요 누르는 작업을 꼭 자동화해야 할까? 의심스러운 것은 여기 브런치 작가 중에서 비정상적으로 좋아요 숫자를(몇 백개 이상) 받는 사람들이 있다는 것이다. 그들도 혹시 자동 좋아요 프로그램을 돌리는 게 아닌지...
챗GPT 덕분에 당신이 개발자가 아니더라도 코딩을 할 수 있는, 아니 코딩을 맡길 수 있는 세상이 열린 것이다. 참으로 은혜롭지 않은가?
P.S
그대로 따라 했는데 안 된다고 질문하지 마라. 스스로 방법을 찾아서 해결하라!