반응형
검색엔진에서 제공하는 자동완성 기능은 관련 키워드를 찾거나 공부 목적으로 활용하기 좋습니다. 오늘은 네이버와 구글에서 자동완성 데이터를 가져오는 간단한 방법을 공유합니다.
주의 사항
- 개인적인 학습이나 소규모 활용을 위한 용도로만 사용해야 합니다.
- **네이버와 구글의 트래픽에 과도한 부하를 발생시키는 행동(예: 대량 크롤링)**은 절대 금지입니다.
구글 검색어 자동완성 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 필드를 통해 관련 키워드를 추출할 수 있습니다.
- 검색 트렌드 추적: 다양한 검색어로 데이터 패턴을 분석합니다.
결론
위 코드를 사용하면 네이버의 검색어 자동완성 데이터를 간단하게 가져올 수 있습니다. 트래픽 부하를 주지 않도록 조심히 활용하시기 바랍니다! 😊
반응형
'개발 > 개발 필기' 카테고리의 다른 글
CSS 클래스 기반 스타일 관리로 유지보수성과 효율성 강화 (8) | 2024.11.23 |
---|---|
회원가입 악의적 공격 대응 및 보안 강화 방법(가입 요청 유효성 검증 토큰) (0) | 2024.11.22 |
Git 브랜치 충돌 해결: Main에 Develop 강제로 덮어씌우는 방법 (2) | 2024.11.15 |
네이버 API 검색 결과에서 언론사 이름 추출하기 (19) | 2024.11.06 |
파이썬 실행 파일 에러가 나는 경우? (PyInstaller 사용) (0) | 2024.11.06 |