반응형

최근 네이버 인플루언서가 되고 나서 인플루언서 자동 신청 프로그램을 짜고 있다. 셀레니움 기반으로 짜면서 팬을 신청한 아이디를 파일에 저장하고, 다음에 신청할때 여기에 있으면 패스하는 걸 짜고 있다. 

막상 짜서 돌리고 있다 보니, 이런걸 원하는 사람도 있을거 같다고 생각해서 티스토리에 남겨본다. 네이버에 남기면 문제가 될꺼 같아서  :)

 

네이버 인플루언서들의 id 수집

나는 내가 팬을 할 아이디를 모두 구해서 ids 에 저장했다. 이 과정은 나중에 상세하게 다시 다루겠지만, 시간과 노력의 집합체다. 일단 네이버가 인플루언서 목록을 오픈하지 않았다. 그런 API 가 있다면 참 좋을텐데.

그래서 모든 인플루언서의 홈에서 인플루언서가 팬한 목록을 구했다. 이게 참 말이 어려운데 다른 인플루언서들이 팬한 인플루언서들의 목록을 모두 구해서 더했다는 얘기다.

그런데, 빌어먹을 네이버 인플루언서 페이지는 모두다 모바일 기반이라 화면을 계속 스크롤해줘야 다음 목록이 나온다. 얼마나 많이 해야 하는지 알수 없어서 중간중간 잘 저장을 해야 한다.

중요한 문제는 목록이 길어질수록 메모리 사용량이 급증한다는 거다. 빌어먹을 내 데스크탑이 32G 메모리를 쓰고 있는데 반나절 돌리면 80%까지 메모리 사용량이 뛰면서 죽어버린다. 만약 저장을 안 했으면 하루종일 한게 다 날라감. ㅋㅋㅋ

아무튼 이렇게 해서 구한 1만 3천명 가량의 ID 를 모두 배열에 저장한다. 이제 이걸 가지고 실제 팬을 신청해보기로 했다. 

 

코드

ids 에는 실제 인플루언서들의 id 가 모두 들어 있다. 이걸 루프돌면서 하나씩 빼서 beFan() 함수에다 넣어준다. 이름에서 예상되듯, id 를 가진 인플루언서에게 팬을 신청하고 메시지를 자동으로 남겨주는 역할을 한다.

그리고 result 를 받아 팬 신청이 성공했는지를 보고 파일에 하나씩 저장해준다. 코드는 존나 쉽다.

processed = []
result_output = open("result_output.txt", "w")

for _idx, id in enumerate(ids) :    
    result = beFan(id)    
    print(_idx + 1,"/",count, ")",id,":", result)
    if result == 1 :        
        result_output.write(id)
        result_output.write('\n')

result_output.close()

 

문제는 이게 셀레니움으로만 동작하는게 아니라, pyguipyautogui 패키지를 쓴다. 뭐가 문제냐면, 셀레니움과 다르게 고스트 모드로 동작하지 않고, 실제 마우스를 움직인다는데 있다.

그래서 한번 실행해놓으면 컴퓨터를 쓸수가 없다. 그래서 밤새 돌려놔야 하는 문제가 있다. 중간에 멈추면 거기서부터 다시 실행해야 하는데, 나도 자고 있는데 누가 해주냐고 그걸.. ㅠ

 

문제점

구해진 1만 3천명의 id 를 모두 신청하는데 일주일정도가 걸렸다. 그래서 팬수가 많이 늘었냐고? 1천명에서 시작하여 3천명까지 늘었으니 많이 늘었다고 할 수는 있지만 신청수에 비하면 크지 않다.

인플루언서는 상호간 맞팬이 되야 하는데, 맞팬을 해주는 사람이 극히 적다. 아니, 인플루언서 해놓고 왜 운영을 안 하는데? ㅅㅂ

암튼 그래서 이제부터는 내 팬이 아닌사람을 골라내서 또 돌아다니면서 메시지를 보내는 작업을 한다. 근데 웃긴게 한번 해달라고 메시지를 보냈는데 또 가서 해달라고 하면 ㅈㄴ 이상한 사람으로 보일듯. 그래서 주저주저 중이다.

빨리 7000명을 만들어야 프광도 달고 할텐데, 아직까지는 좀 부족하다. 다음 얘기는 2편에서!

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기