빙웹마스터와 구글 서치 콘솔에서는 API를 통해 색인 요청을 할 수 있지만, 네이버의 경우 일반사용자는 API를 사용할 수 없습니다. 그래서 프로그래밍으로 사용자가 네이버서치어드바이저에 로그인하고 수집요청하는 과정을 그대로 모방하는 방법으로 해결하였습니다.
블로그스팟 원클릭 검색엔진 색인요청 #10 - Naver Search Advisor 수집요청 소스 코드
네이버에서도 수집요청 API가 있지만 해당 API는 제휴업체만 사용가능하고 일반인은 사용하지 못합니다. 그래서 네이버는 구글이나 빙과는 수집요청하는 방법이 많이 다릅니다.
직접 API를 사용하지 못하기 때문에 사용자가 네이버 서치 어드바이저에 로그인 한 후 포스팅 글의 링크를 하나하나 등록하는 과정을 자동화를 통해 구현해야 합니다.
from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By import time import pyperclip driver = webdriver.Chrome() driver.get('https://nid.naver.com/') time.sleep(1) # id, pw 입력할 곳을 찾습니다. tag_id = driver.find_element(By.ID, 'id') tag_pw = driver.find_element(By.ID, 'pw') tag_id.clear() #time.sleep(1) # id 입력 tag_id.clear() #time.sleep(0.5) tag_id.click() pyperclip.copy('your_naver_id') tag_id.send_keys(Keys.CONTROL, 'v') #time.sleep(0.5) # pw 입력 tag_pw.click() pyperclip.copy('your_naver_pw') tag_pw.send_keys(Keys.CONTROL, 'v') #time.sleep(0.5) # 로그인 버튼을 클릭합니다 login_btn = driver.find_element(By.ID, 'log.login') login_btn.click() driver.get('https://searchadvisor.naver.com/console/site/request/crawl?site=https%3A%2F%your_blogspot_addr) time.sleep(1) tag_input = driver.find_element(By.ID, 'input-212') tag_input.clear() #time.sleep(1) tag_input.click() pyperclip.copy('https://your_blogspot_poting_link.html') tag_input.send_keys(Keys.CONTROL, 'v') #time.sleep(1) btn_click = driver.find_element(By.XPATH, '//*[@id="app"]/div/main/div/div[2]/div[2]/div/div[2]/div[2]/div[1]/div[2]/div[2]/div[1]/div[2]/div/div/div[2]/button') btn_click.click()
위의 코드는 네이버 서치어드바이저에 접속한 후 ID와 PW를 입력하고 내 블로그 링크 수집요청 화면으로 들어가서 새로 작성한 글의 링크를 입력하고 확인 버튼까지 누르는 과정을 프로그래밍으로 구현한 것입니다.
네이버의 경우 사용자가 수작업으로 등록하는 과정을 프로그램이 똑같이 수행하게 만들었기 때문에 제대로 수집요청이 되었는지 별도로 확인할 필요는 없습니다.