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

2024. 11. 18. 17:37개발/개발 필기

반응형

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

주의 사항

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

 

구글 검색어 자동완성 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 필드를 통해 관련 키워드를 추출할 수 있습니다.
  • 검색 트렌드 추적: 다양한 검색어로 데이터 패턴을 분석합니다.

결론

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

반응형