-
네이버 검색어 중 자동완성어 추출해보기(with 파이썬)코딩 연습/코딩배우기 2021. 10. 15. 00:24반응형
네이버 검색어 중 자동완성어 추출해보기(with 파이썬)
네이버에서 검색어를 입력하는 순간 자동으로 관련 검색어(이하 자동완성어라 함)가 여러 개 나온다.

네이버 자동완성어 키워드 분석 시 검색 결과 페이지에 있는 연관검색어와 함께 자주 이용되는 이 자동검색어는 검색어가 입력되는 순간만 보여서 추출하기가 쉽지 않다.
그래서 파이썬으로 한 번 추출해보려고 requests를 사용해봤지만 당연히 찾을 수가 없었고(초보 수준인 나에게는 어려운 기능), 셀레니움으로 할 수밖에 없었지만....
개발도구를 Network 탭을 면밀히 살펴본 바, requests로도 가능한 소스가 있었다.
▶ 셀레니움(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
반응형'코딩 연습 > 코딩배우기' 카테고리의 다른 글
네이버 블로그 페이지에 있는 글 저장 및 이미지 다운로드하는 기능 만들기(with 파이썬) (3) 2021.11.12 파이썬 장고(django) 웹 프로그래밍 - 웹 페이지 만들기 # 2 (0) 2021.11.03 [python] 장고(django)로 게시판 만들어보기 (1) 2021.10.11 파이썬 datetime 모듈과 장고(django) 시간대(use tz) 설정 (0) 2021.10.11 구글에서 원하는 이미지 다운로드 해보기 (with 파이썬) (0) 2021.10.11
