본문 바로가기

IT 이야기

[무료, 코드 공개] 네이버 TV 맞구독 매크로 자동화 python 프로그램 코드 공개

 

맞구독 자동화

 

 네이버 TV의 경우 유튜브에 비해서 사용자가 압도적으로 부족하다. 시장점유율의 2% 정도라고 이야기하니, 알만하다. 그런데 수익창출 조건에 구독자 300명이 있다. 이것은 유튜브로는 구독자 3000명보다 어렵다고 이야기한다. 하지만 나는 힙뀽이! 이 정도 자동화 프로그램을 만드는 데는 30분도 안 걸렸다. 간단하게 계속해서 구독했다고 댓글을 달고 나도 구독을 해달라고 하면 되는 것이다. 이걸로 하루도 안 돼서 구독자가 82명이다. 사실 이 프로그램을 제작하고부터 따지면 훨씬 빠른 시간만에 이 정도 구독자를 달성한 것이다. 곧 구독자 300명이 되고 수익창출을 할 수 있을 것으로 기대한다.

거두 절미하고 이게 코드다.

# 네이버 TV 맞구독 자동화
from selenium import webdriver
from bs4 import BeautifulSoup
import time

driver = webdriver.Chrome('chromedriver.exe')

def NaverLogin():
    driver.implicitly_wait(3)

    # fh url에 접근한다.
    driver.get('https://nid.naver.com/nidlogin.login')
    time.sleep(3)
    # 아이디 비번 입력
    #driver.find_element_by_name('id').send_keys('네이버ID')
    time.sleep(1)
    #driver.find_element_by_name('pw').send_keys('네이버PW')
    # 자동 입력문제가 있으면 여기를 조절하기
    time.sleep(10)

    # 로그인 버튼
    #driver.find_element_by_xpath('//*[@id="frmNIDLogin"]/fieldset/input').click()



def WritingComments(naver_TV_URL, idx):
    try:
        driver.get(naver_TV_URL)
    except:
        return

    # 맞구독할 댓글입력
    text = '안녕하세요! 구독했습니다~~ 힙합 음악 추천, 이슈 정리를 하는 ~ #힙뀽이 ~ 입니다. 맞구독하길 바랍니다! | https://tv.naver.com/hipgyung | 다른 분들도 모두 선구독 해주시면 바로 맞구독 갑니다!)'

    # 이제 사이트 분석해서
    html = driver.page_source
    soup = BeautifulSoup(html, 'html.parser')

    videoURL = soup.find_all('div', {'class' : 'thl_a'})
    videoURL = soup.find_all('a', {'class' : 'cds_thm'})

    # 맞구독에 맞는 동영상 링크들을 가져오기
    URL_list = []
    for link in videoURL:
        if 'href' in link.attrs: # 내부에 있는 항목들을 리스트로 가져옵니다 ex) {u'href': u'//www.wikimediafoundation.org/'}
            URL_list.append(link.attrs['href'])

    i = 1
    # 맞구독할 URL로 이동해서 댓글달기
    for URL in URL_list:
        # 이동하는 코드
        try:
            driver.get("https://tv.naver.com" + URL)
            # 댓글 입력
            driver.find_element_by_xpath('//*[@id="cbox_module__write_textarea"]').send_keys(text)
            # 댓글다는 코드
            driver.find_element_by_xpath('//*[@class="u_cbox_upload"]/button').click()
            # 몇번째인지 찾기
            print(idx, i)
            i += 1
            # 1초만 기다리기
            time.sleep(1)
        except:
            pass

def naverTV(name, start=1, end=10):
    for i in range(start, end):
        naver_TV_URL = 'https://tv.naver.com/search/clip?query={}&sort=rel&page={}&isTag=false'.format(name, i)
        WritingComments(naver_TV_URL, i)

def naverTVlist(namelist, endlist):
    for name,end in zip(namelist,endlist):
        naverTV(name, end=end)


if __name__ == '__main__':
    # 네이버 로그인
    NaverLogin()

    # 크롤링할 거 이름 + 범위
    #naverTVlist(["구독", "꿀팁", "리뷰"], endlist=[4,4,4])
    #naverTVlist(["힙합 이슈", "힙합 음악", "힙합 추천", "음악 추천"], endlist=[4,4,4,4])
    #naverTVlist(["힙합", "음악"], endlist=[10, 10])
    #naverTVlist(["국힙", "외힙"], endlist=[3, 3])
    naverTVlist(["크리에이터", "섹시", "it 리뷰"], endlist=[3, 3,2])

 
https://m.smartstore.naver.com/gyunggyung/products/4848817970

코드 설명과 아무것도 모르는 사람도 사용할 수 있는 코드이 가능하게 설명해준 내 책이다.

 사실 이렇게 공개하는 것만으로도 여러 사람들이 악용을 할까 걱정이 별로 안 된다 ㅋㅋㅋ 개인적으로 오픈소스 광신 도기에 Open AI에서 GPT 2를 공개하지 않는다는 것도 헛소리로 들렸다. 결국 지금은 공개했고...

 코드 설명은 일단 주석을 잘 달았다고 생각하고 더 자세한 설명은 나중에 하겠다.