brunch

You can make anything
by writing

C.S.Lewis

by 한상훈 Nov 21. 2019

브런치 구독자 검색기

구독자 수 장난치던 '그 작가'는 아직도 나를 구독하고 있을까?

내 구독자 중 독특한 한 사람이 있었다. 이 사람은 부동산 관련 글을 쓰는 분이었는데, 개발 관련글에 댓글을 남기고 사라지셨다. 전혀 개발을 모르시는 분 같은데 댓글을 다신 모양이 이상했다. 이 분 프로필에 들어가보니 자기 책 홍보를 위해서 댓글을 달고, 팔로우를 하는 분이셨다. 이 분이 최근 팔로우한 사람들의 첫 글엔 모두 같은 댓글이 달려 있었다. (좋은 글이네요 ... 제 브런치에 놀러오세요.) 인스타 마케팅에서 흔히 볼 수 있는 전략을 브런치에서 보게 되니 기분이 안 좋았다. 똑같은 댓글을 수 십 명에게 거의 동시에 다는것부터가 열심히 글을 쓴 사람에게 피해를 준다고 생각했다. 몇몇의 사람들은 이 사람에게 "고맙습니다." 하면서 정성어린 답글도 달았다. 하지만 이 분이 10초마다 글을 완독한게 아니라면 절대 글을 읽지 않았을 것이다.


내가 이 사람에 대해 관심을 갖게 된건 몇 달 후다. "브런치 추천 작가"에 그 사람이 있었기 때문이다. 몇 달간 영업을 뛰었기 때문일까? 이 분은 빠른 시간 안에 구독자가 천 명 이상 늘었고, 그 사이 자신이 구독하는 사람 수는 줄어있었다. 전형적인 마케팅 전략이라 할말이 없었지만 문득 궁금해졌다. 그 분은 나를 아직도 구독하고 있을까?




이걸 확인해보기 위해선 2가지 방법이 있다. 첫번째 방법은 그 분의 프로필에 들어가 관심작가 탭을 눌러 내가 있는지 확인해보거나 내 브런치 구독자 리스트를 살펴보는 것이다. 브런치는 구독자나, 관심작가 목록을 가져올 때 한 번에 10명씩 스크롤에 따라 가져온다. 아쉽게도 그 분은 여전히 700명 이상의 관심작가 리스트가 있었기에 내가 스크롤을 해서 찾기엔 귀찮았다. 그래서 두번째 방법을 고안해봤다. 나는 개발자니 크롤러를 만들어 찾아봤다.


먼저 브런치가 크롤링을 허용하는지 확인해봤다. https://brunch.co.kr/robots.txt 에 들어가보니 허용됨을 확인할 수 있었다.

모든 하위 url에 대해 허용

이제 사이트 구조를 뜯어봤다. 개발자 콘솔 네트워크 탭에서 확인해보니 get요청을 통해 가져오고 있었다.

비교적 간단하게 리스트를 가져오고 있었다


get 요청을 분석해보면 user/@@유저아이디/followers?listSize=리스트크기 형태로 가져오는걸 확인할 수 있다. 이 요청을 누구나 다 할 수 있는걸까? 브런치는 따로 요청을 제한하는게 없는 것으로 보인다. Postman을 통해 동일한 URL로 요청을 쏘면 동일한 결과를 얻을 수 있었다.


이 시점에서 URL을 조금만 수정해도 내가 원하는 데이터는 모두 획득할 수 있었다. 하지만 나는 좀 더 보편적인 상황에 대처하고 싶었다. 이미지를 자세히보면 유저 아이디가 내 아이디와 다르다.  내 브런치 아이디는 skykamja24(하늘감자24)인데 주소에 나타난 아이디는 EMK이다. 어디서 온 값일까?


EMK는 나를 서버에서 구분하기 위해 저장된 키값일 것이다. 이 값을 매번 개발자 도구를 통해 찾아보는건 비효율적이니 나는 효율적으로 이 값을 알고 싶어졌다. 내 정보를 담은 키라면 나와 관련된 페이지에서 쉽게 얻을 수 있을 것 같았다. 아니나 다를까 브런치 프로필 페이지에 들어가니 쉽게 찾을 수 있었다.

요청 최상단에 따단 보여주고 있는 아이디값


그럼 이제 준비는 끝났다. 브런치 아이디(프로필 주소 마지막 부분)만 알면 구독자 전체를 리스트로 획득하고, 특정 사람이 나를 구독하는지 찾아볼 수 있는 코드를 작성할 준비를 마쳤다. 


지금이라도 구독을 하면 당신의 영업을 이해하겠어..

HTTP 요청을 보낼 axios와 리스트를 필터링하는데 사용할 lodash만 설치했다. 작동은 node를 사용했다. 첫번째 HTTP 요청에서 내 userId값을 찾고, 두번째 요청에선 구독자 리스트를 획득한다. 마지막으로 찾고 싶은 사람의 닉네임을 검색해 존재하면 유저 정보를 반환하고, 없으면 '응 구독 안해'를 반환한다.


그럼 마지막으로 그 분이 나를 구독하고 있는지 찾아봤다.









매거진의 이전글 닉네임 생성기 만들기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari