본문 바로가기
코딩 연습/코딩배우기

네이버 검색어 중 자동완성어 추출해보기(with 파이썬)

by good4me 2021. 10. 15.

goodthings4me.tistory.com

 

네이버 검색어 중 자동완성어 추출해보기(with 파이썬)

 

네이버에서 검색어를 입력하는 순간 자동으로 관련 검색어(이하 자동완성어라 함)가 여러 개 나온다.

네이버 자동완성어

 

키워드 분석 시 검색 결과 페이지에 있는 연관검색어와 함께 자주 이용되는 이 자동검색어는 검색어가 입력되는 순간만 보여서 추출하기가 쉽지 않다. 

 

그래서 파이썬으로 한 번 추출해보려고 requests를 사용해봤지만 당연히 찾을 수가 없었고(초보 수준인 나에게는 어려운 기능), 셀레니움으로 할 수밖에 없었지만....

 

개발도구를 Network 탭을 면밀히 살펴본 바, requests로도 가능한 소스가 있었다.

 

 

good4me.co.kr

 

 

▶ 셀레니움(selenium) 사용하여 네이버 자동완성어 추출해보기

from selenium import webdriver
import random
import time


def naver_keyword(keywords):  # 자동완성어 추출
    chrome_options = webdriver.ChromeOptions()
    # chrome_options.add_argument('--headless')
    chrome_options.add_argument('--no-sandbox')
    chrome_options.add_argument('--disable-dev-shm-usage')
    
    driver = webdriver.Chrome(크롬드라이버 경로, options=chrome_options)
    driver.get('https://www.naver.com/')
    time.sleep(3)
    
    input_element = driver.find_element_by_class_name('green_window')  # 검색창
    input_element.find_element_by_name('query').send_keys(keywords)  # 키워드 입력
    input_element.click()
    
    time.sleep(random.uniform(1, 2))
    uls = driver.find_elements_by_class_name('kwd_lst')
    
    auto_keywords = []
    
    for ul in uls:
        lis = ul.find_elements_by_tag_name('li')
        if len(lis):
            for li in lis:
                keyword = li.find_element_by_tag_name('a').find_element_by_class_name('fix').text.strip()
                auto_keywords.append(keyword)
    
    for word in auto_keywords:  # 빈 요소 있으면 제거
        if not word:
            auto_keywords.remove(word)

    if auto_keywords:
        print('\n자동완성어 추출 성공!!\n')
    elif not auto_keywords:
        print('\n자동완성어 없음!!\n')
        
    print(auto_keywords)
    driver.close()
    
    return auto_keywords


naver_keyword('청소기흡입구')

## 추출 결과 ##

자동완성어 추출 성공!!

['청소기 흡입구', '청소기 흡입구부품', 'lg청소기 흡입구', '삼성청소기흡입구', '일렉트로닉스 청소기 흡입구', '엘지청소기흡입구', '엘지싸이킹청소기 흡입구', 'lg 진공청소기 흡입구', '삼성업소용청소기 흡입구', '삼성 제
트 청소기 흡입구']

 

 


 

▶ requests 모듈 사용하여 네이버 자동완성어 추출해보기

requests 사용

F12 개발자 도구에서 확인을 더 해보니 네이버 자동완성어는 json 형태의 페이지가 따로 있었다.

 

해당 json 파일을 가져와서 자동완성어 부분만을 추출해보니 위 이미지처럼 간단한 코딩으로도 가능했다.

 

 


 

파이썬으로 만든 네이버 자동완성어 추출 미니 프로그램

 

 

※ 네이버 자동완성어 추출 프로그램 다운로드 : 여기(클릭)

 

 

※ 관련 포스팅 더보기

 

네이버 검색 키워드 자동완성어 추출

네이버에서 검색어 입력 시 보이는 관련 검색어(자동완성어)를 추출하는 파이썬 크롤링 코드임. html 소스코드 보기로 봐도 보이지 않는 이유는 동적으로 움직이기 때문이며, 이런 경우에는 개발

goodthings4me.tistory.com

 

 

댓글