goodthings4me.tistory.com
네이버 검색어 중 자동완성어 추출해보기(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 모듈 사용하여 네이버 자동완성어 추출해보기
F12 개발자 도구에서 확인을 더 해보니 네이버 자동완성어는 json 형태의 페이지가 따로 있었다.
해당 json 파일을 가져와서 자동완성어 부분만을 추출해보니 위 이미지처럼 간단한 코딩으로도 가능했다.
파이썬으로 만든 네이버 자동완성어 추출 미니 프로그램
※ 네이버 자동완성어 추출 프로그램 다운로드 : 여기(클릭)
※ 관련 포스팅 더보기
'코딩 연습 > 코딩배우기' 카테고리의 다른 글
네이버 블로그 페이지에 있는 글 저장 및 이미지 다운로드하는 기능 만들기(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 |
댓글