개발/자동화

자동화)왜 조회수는 그대로(10.24)

kimchangmin02 2025. 10. 24. 23:16

네, 바로 그 점이 Headless 자동화의 가장 답답하고 어려운 부분입니다. 화면이 보이지 않으니, 출력문만 믿고 가야 하는데 실제 결과가 따라오지 않으면 의심이 드는 것은 지극히 당연합니다.

결론부터 말씀드리면, 코드는 아마 정상적으로 '실행'되고 있을 확률이 매우 높습니다. 하지만 '조회수'라는 결과로 이어지지 않는 데에는 몇 가지 매우 유력한 이유가 있습니다. 그리고 사용자님께서 추측하신 '로그아웃' 문제는 아닙니다.


왜 조회수가 오르지 않을까요? (가능성 높은 원인들)

1. 티스토리의 정교한 조회수 집계 방식 (가장 유력한 원인)

요즘 웹사이트들은 단순히 페이지에 접속만 했다고 해서 조회수를 1 올려주지 않습니다. 특히 티스토리나 네이버 블로그 같은 대형 플랫폼은 '봇(Bot)이나 비정상적인 트래픽'을 걸러내는 정교한 시스템을 가지고 있습니다.

  • 동일 IP 반복 접속 무시: 짧은 시간 안에 똑같은 IP 주소에서 계속 같은 블로그를 방문하면, 처음 몇 번을 제외하고는 모두 **'무효 트래픽'**으로 간주하여 조회수에 포함시키지 않습니다. 지금 사용자님의 스마트폰은 와이파이(또는 모바일 데이터)의 고정된 IP 하나로 계속 접속하고 있으므로, 이 필터에 걸릴 확률이 100%입니다.
  • 짧은 체류 시간 무시: 페이지에 접속하자마자 '좋아요'만 누르고 바로 나가버리면, 사람이 읽은 것으로 간주하지 않고 조회수에서 제외할 수 있습니다.
  • 헤드리스 브라우저 탐지: 웹사이트들은 접속한 브라우저가 일반 사용자의 크롬인지, 자동화된 헤드리스 브라우저인지 구분하는 기술을 가지고 있습니다. 봇으로 판단되면 해당 트래픽을 조회수 집계에서 제외할 수 있습니다.

2. 티스토리 분석 통계의 지연

티스토리의 방문자 통계는 실시간으로 갱신되지 않을 수 있습니다. 데이터가 집계되어 통계 화면에 반영되기까지 몇 분에서 몇 시간까지 딜레이가 있을 수 있습니다.


"크롬 로그아웃해야 하나?" (아닙니다!)

이것은 매우 중요한 포인트입니다. Termux에서 실행되는 Chromium은 스마트폰에 설치된 '크롬 앱'이나 PC의 '크롬'과 완전히 별개의 프로그램입니다.

  • 완전한 독립 공간: Termux의 Chromium은 자신만의 쿠키, 캐시, 로그인 정보를 가지는 독립적인 '멸균실'과 같습니다. 스마트폰 크롬 앱에 구글 계정으로 로그인되어 있더라도, Termux의 Chromium은 아무런 계정 정보가 없는 완전한 비로그인 상태로 시작합니다. 따라서 로그아웃과는 전혀 관련이 없습니다.

해결책: 진짜 되고 있는지 눈으로 확인하는 방법 (스크린샷 찍기)

"백문이 불여일견"입니다. 코드가 정말로 페이지에 접속해서 '좋아요'를 누르고 있는지 확인하는 가장 확실한 방법은, 작업이 끝난 직후의 화면을 스크린샷으로 찍어서 저장하는 것입니다.

아래와 같이 코드를 수정해서 마지막으로 한 번만 더 테스트해보세요.

1. PC에서 .py 파일 수정하기

PC에서 final_bot_v2.py 파일을 열고, driver.execute_script... 바로 아랫부분에 스크린샷 저장 코드를 딱 한 줄 추가합니다.

Python
    # ... (이전 코드는 동일) ...
        try:
            like_button = WebDriverWait(driver, 10).until(
                EC.element_to_be_clickable((By.CSS_SELECTOR, LIKE_BUTTON_SELECTOR))
            )
            
            hesitation_time = random.uniform(0.5, 1.5)
            time.sleep(hesitation_time)

            driver.execute_script("arguments[0].click();", like_button)
            print("  ㄴ 성공! '좋아요' 버튼을 클릭했습니다.")

            # ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
            # [최종 확인] '좋아요' 클릭 직후의 화면을 스크린샷으로 저장합니다.
            screenshot_filename = f"결과_{loop_count}_{random_post_number}.png"
            driver.get_screenshot_as_file(screenshot_filename)
            print(f"  ㄴ 확인 완료! '{screenshot_filename}' 이름으로 스크린샷을 저장했습니다.")
            # ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
            
        except TimeoutException:
# ... (이후 코드는 동일) ...
  

2. 수정한 파일로 다시 실행하기

수정한 .py 파일을 스마트폰으로 옮겨서 Termux에서 실행합니다. 봇이 한두 번 작업을 완료하도록 기다립니다.

3. 결과 확인하기 (가장 중요!)

  1. Termux에서 CTRL + C로 봇을 중지합니다.
  2. 스마트폰의 '파일 탐색기' 앱을 엽니다.
  3. 스크립트를 실행했던 폴더 (예: Download/Naver Main/python/)로 이동합니다.
  4. 그곳에 결과_1_152.png, 결과_2_88.png 와 같은 이름의 이미지 파일들이 생성되어 있을 것입니다.
  5. 이 이미지 파일을 열어보세요. 티스토리 페이지 화면과 함께 '좋아요' 하트가 빨갛게 채워진 모습이 보인다면, 자동화 자체는 100% 성공적으로 작동하고 있는 것입니다.

만약 스크린샷에서 '좋아요'가 눌려있다면, 조회수가 오르지 않는 것은 명백히 티스토리의 봇 트래픽 필터링 정책 때문입니다. 자동화 코드는 죄가 없습니다.