네이버 서치어드바이저 등록 자동화 하기 : python 코드 제공

네이버 서치어드바이저 등록 자동화를 원하시나요? 이제 번거로운 과정을 자동화하여 효율성을 높일 수 있습니다. 이 글에서는 네이버 서치어드바이저 등록 자동화를 위한 강력한 Python 스크립트를 무료로 제공하고, 이를 통해 시간과 노력을 절약하는 방법을 안내해 드립니다. 더 이상 수동으로 정보를 입력하고 관리하는 데 시간을 낭비하지 마세요. 지금 바로 네이버 서치어드바이저 등록 자동화의 편리함을 경험해 보세요!

네이버 서치어드바이저 등록 자동화, 왜 필요할까요?

웹사이트를 운영하며 검색 엔진 최적화(SEO)는 필수적인 과정입니다. 특히 국내 시장을 타겟으로 한다면 네이버 서치어드바이저 등록은 매우 중요합니다. 하지만 여러 웹사이트를 관리하거나 많은 키워드를 등록해야 할 경우, 수동 작업은 상당한 시간과 노력을 요구합니다. 네이버 서치어드바이저 등록 자동화는 이러한 반복적인 작업을 자동화하여 효율성을 극대화하고, 중요한 다른 업무에 집중할 수 있도록 도와줍니다.

 

아래에 python 코드를 사용하시면 네이버 서치어드바이저 색인을 자동으로 할 수 있습니다. 이 코드는 네이버 서치 어드바이저에 로그인된 쿠키를 사용해서 자동화를 하고 있습니다. 쿠키를 만드는 방법은 아래 글에서 확인하세요.

쿠키 만드는 방법

우선 이 프로그램을 사용하는데 필요한 것은 색인 요청을 할 url 주소와, 네이버 서치 어드바이저 에서 웹 페이지 수집을 요청하는 url 주소 두개가 필요합니다. 웹 페이지 수집을 요청하는 url 주소는 아래 이미지 처럼 네이버 서치 어드바이저 웹마스터 도구 -> 색인을 요청할 사이트 선택 -> 요청-웹 페이지 수집 을 클릭했을 때 나오는 url 주소를 사용하시면 됩니다.

해당 코드는 playwright 를 사용해서 색인을 요청합니다. 설치가 안되어 있다면 playwright 를 설치해 주세요.


from playwright.sync_api import sync_playwright
import json

def naver_search_advisor(url, cookies_file, url_to_input):
    """
    네이버 서치어드바이저에 접속하여 주어진 URL을 입력하고 '확인' 버튼을 클릭하여 색인 요청을 수행합니다.

    Args:
        url (str): 네이버 서치어드바이저의 특정 페이지 URL (예: 크롤링 요청 페이지).
        cookies_file (str): 로그인 정보가 담긴 JSON 형식의 쿠키 파일 경로.
        url_to_input (str): 색인을 요청할 웹 페이지의 URL.
    """
    with sync_playwright() as p:
        # Chromium 브라우저를 실행합니다 (headless=False 이므로 GUI가 보입니다).
        browser = p.chromium.launch(headless=False)
        # 새로운 브라우저 컨텍스트를 생성합니다. 컨텍스트는 격리된 브라우징 환경을 제공합니다.
        context = browser.new_context()

        # 쿠키 파일 읽기
        try:
            with open(cookies_file, 'r') as f:
                cookies = json.load(f)
        except FileNotFoundError:
            print(f"Error: 쿠키 파일 '{cookies_file}'을 찾을 수 없습니다.")
            browser.close()
            raise

        # 쿠키 설정
        context.add_cookies(cookies)

        # 새로운 페이지를 열고 주어진 URL로 이동합니다.
        page = context.new_page()
        page.goto(url)

        # URL 입력 필드에 값을 입력합니다.
        try:
            # input 셀렉터를 사용하여 입력 필드를 찾고 url_to_input 값을 채웁니다.
            page.locator('input[type="text"]').fill(url_to_input)
            print(f"Successfully entered '{url_to_input}' into the input field with selector input#input-209.")
        except Exception as e:
            print(f"Error: Could not find or interact with the input field input#input-209. {e}")

        # '확인' 버튼을 클릭합니다.
        try:
            # 텍스트가 '확인'인 버튼을 찾아 클릭합니다.
            page.locator('button:has-text("확인")').click()
            print("Successfully clicked the button with text '확인'.")
        except Exception as e:
            print(f"Error: Could not find or interact with the button with text '확인'. {e}")

        # 특정 텍스트가 포함된 div 요소가 나타나는지 확인합니다.
        try:
            # URL에서 도메인 부분을 제외하고 경로만 추출합니다.
            # 예: https://www.example.com/path/to/page -> /path/to/page
            path_parts = url_to_input.split('/', 3)
            path = path_parts[3] if len(path_parts) > 3 else ""
            # 경로의 앞 15글자만 추출하여 확인할 텍스트를 만듭니다.
            text = path[:15]
            timeout = 10000  # 10초

            # 주어진 셀렉터와 텍스트를 포함하는 요소가 timeout 시간 내에 나타날 때까지 기다립니다.
            page.wait_for_selector(f'div.mt-3.mb-4.col.col-12:has-text("{text}")', timeout=timeout)
            print(f"div.mt-3.mb-4.col.col-12 안에 텍스트 '{text}'가 나타났습니다.")
        except TimeoutError:
            print(f"오류: 지정된 시간 ({timeout/1000}초) 내에 div.mt-3.mb-4.col.col-12 안에 텍스트 '{text}'가 나타나지 않았습니다.")
            raise
        except Exception as e:
            print(f"오류: 요소 확인 중 예외 발생: {e}")
            raise

        # 페이지가 자동으로 닫히는 것을 방지하고 결과를 확인하기 위해 잠시 대기합니다.
        input("Press Enter to close the browser...")

        # 브라우저를 닫습니다.
        browser.close()

if __name__ == "__main__":
    # 네이버 서치어드바이저 로그인이 완료된 쿠키 정보가 저장된 파일 이름입니다.
    cookies_file = "playwright_cookies.json"

    # 색인을 요청할 네이버 서치어드바이저의 크롤링 요청 페이지 URL입니다.
    # 실제 사이트 주소로 변경해야 합니다.
    target_url = "네이버 서치 어드바이저에서 웹 페이지 수집을 요청하는 url 로 병견해주세요."
    # 실제로 색인을 요청할 웹 페이지의 URL입니다.
    url_to_input = "색을 요청할 블로그나 홈페이지 url을 입력합니다."

    try:
        # 정의된 함수를 호출하여 네이버 서치어드바이저에 색인 요청을 수행합니다.
        naver_search_advisor(target_url, cookies_file, url_to_input)
    except FileNotFoundError as e:
        print(f"Error: 쿠키 파일 처리 중 오류 발생: {e}")
    except Exception as e:
        print(f"An error occurred: {e}")