본문 바로가기
개발/개발 필기

네이버와 구글 검색어 자동완성 데이터를 가져오는 방법

by nicksoon 2024. 11. 18.
반응형

검색엔진에서 제공하는 자동완성 기능은 관련 키워드를 찾거나 공부 목적으로 활용하기 좋습니다. 오늘은 네이버와 구글에서 자동완성 데이터를 가져오는 간단한 방법을 공유합니다.

주의 사항

  • 개인적인 학습이나 소규모 활용을 위한 용도로만 사용해야 합니다.
  • **네이버와 구글의 트래픽에 과도한 부하를 발생시키는 행동(예: 대량 크롤링)**은 절대 금지입니다.

 

구글 검색어 자동완성 API 예시

구글 검색 자동완성

구글에서는 아래와 같은 URL로 자동완성 데이터를 요청할 수 있습니다. q 파라미터에 원하는 검색어를 넣으면 관련 데이터를 JSON 형식으로 받을 수 있습니다.

https://www.google.com/complete/search?q=맞춤법검사기&client=gws-wiz-serp
import requests

# 구글 검색어 자동완성 데이터 가져오기
google_url = "https://www.google.com/complete/search"
params = {
    "q": "맞춤법검사기",  # 검색어
    "client": "gws-wiz-serp"  # 클라이언트 설정
}

response = requests.get(google_url, params=params)
if response.status_code == 200:
    data = response.json()  # 응답 데이터를 JSON으로 변환
    print("구글 자동완성 결과:", data)
else:
    print("구글 요청 실패:", response.status_code)

 

구글 출력 예시

window.google.ac.h([[["맞춤법검사기",0,[512]],["맞춤법검사기\u003cb\u003e 네이버\u003c\/b\u003e",0,[512]],["맞춤법검사기\u003cb\u003e 부산대\u003c\/b\u003e",0,[512]],["맞춤법검사기\u003cb\u003e 사람인\u003c\/b\u003e",0,[512]],["맞춤법검사기\u003cb\u003e 인크루트\u003c\/b\u003e",0,[512]],["맞춤법검사기\u003cb\u003e 다음\u003c\/b\u003e",0,[512]],["맞춤법검사기\u003cb\u003e 영어\u003c\/b\u003e",0,[512]],["맞춤법검사기\u003cb\u003e 잡코리아\u003c\/b\u003e",0,[512]],["맞춤법검사기\u003cb\u003e 추천\u003c\/b\u003e",0,[512]],["맞춤법검사기\u003cb\u003e api\u003c\/b\u003e",0,[512]]],{"q":"MXjp4Ab_ZaWpDT9mM26dbGg39aQ"}])

네이버 검색어 자동완성 API 예시

네이버 검색 자동완성

네이버에서는 아래 URL을 통해 검색어 자동완성 데이터를 가져올 수 있습니다. q 파라미터에 검색어를 입력하면 JSON 형태의 응답을 받을 수 있습니다.

https://ac.search.naver.com/nx/ac?q=맞춤법검사기&con=1&frm=nx&ans=2&r_format=json&r_enc=UTF-8&r_unicode=0&t_koreng=1&run=2&rev=4&q_enc=UTF-8&st=100&_callback=

 

JSONP 를 지우면 JSON 형식으로 바로 응답을 받을 수 있으므로, 별도의 JSONP 처리 과정이 필요하지 않습니다.

import requests

# 네이버 검색어 자동완성 데이터 가져오기
naver_url = "https://ac.search.naver.com/nx/ac"
params = {
    "q": "맞춤법검사기",  # 검색어
    "con": "1",
    "frm": "nx",
    "ans": "2",
    "r_format": "json",  # JSON 형식으로 요청
    "r_enc": "UTF-8",
    "r_unicode": "0",
    "t_koreng": "1",
    "run": "2",
    "rev": "4",
    "q_enc": "UTF-8",
    "st": "100"
}

response = requests.get(naver_url, params=params)
if response.status_code == 200:
    data = response.json()  # 응답 데이터를 JSON으로 변환
    print("네이버 자동완성 결과:", data)
else:
    print("네이버 요청 실패:", response.status_code)

 

네이버 출력 예시

{
"query" : ["맞춤법검사기"],
"answer" : [],
"intend" : [],
"items" : [
[["맞춤법검사기 부산대", "0"],["맞춤법검사기 사람인", "0"],["맞춤법검사기 인크루트", "0"],["맞춤법검사기 다음", "0"],["맞춤법검사기 잡코리아", "0"],["맞춤법검사기 영어", "0"],["맞춤법 검사기", "0"],["네이버 맞춤법 검사기", "0"],["부산대 맞춤법 검사기", "0"],["한글맞춤법검사기", "0"]]
],"cue" :{
  "query": "맞춤법검사기",
  "cue_item_list": [],
  "item_count": 0,
  "status": {
    "message": "OK"
  }
}
}

 

 

활용 예시

  • 연관 검색어 분석: items 필드를 통해 관련 키워드를 추출할 수 있습니다.
  • 검색 트렌드 추적: 다양한 검색어로 데이터 패턴을 분석합니다.

결론

위 코드를 사용하면 네이버의 검색어 자동완성 데이터를 간단하게 가져올 수 있습니다. 트래픽 부하를 주지 않도록 조심히 활용하시기 바랍니다! 😊

반응형