네이버 자동 완성 키워드 가져오기(1)
네이버 자동완성 키워드를 가져오고 싶은데, 이를 가져오는 코드를 알려주렴.
import requests
def get_naver_autocomplete(query):
url = f"<https://ac.search.naver.com/nx/ac>"
params = {
"q": query,
"con": "1",
"frm": "nx",
"ans": "2",
"r_format": "json",
"r_enc": "utf-8",
"r_unicode": "0",
"st": "100"
}
response = requests.get(url, params=params)
if response.status_code == 200:
data = response.json()
suggestions = [item[0] for item in data['items'][0]]
return suggestions
else:
print("자동완성 요청 실패:", response.status_code)
return None
# 테스트 예제
query = "파이썬"
suggestions = get_naver_autocomplete(query)
print(f"'{query}'의 자동완성 키워드:")
print(suggestions)
파일로 만들기
방금 프로그램을 업그레이드 시키고 싶다.
query를 csv 파일의 1열로 입력받고 싶다.
그리고 다른 csv 파일로 결과를 얻어서 1열에는 키워드, 2열에는 자동완성 키워드 결과를 출력해 주렴.
import requests
import pandas as pd
def get_naver_autocomplete(query):
url = f"<https://ac.search.naver.com/nx/ac>"
params = {
"q": query,
"con": "1",
"frm": "nx",
"ans": "2",
"r_format": "json",
"r_enc": "utf-8",
"r_unicode": "0",
"st": "100"
}
response = requests.get(url, params=params)
if response.status_code == 200:
data = response.json()
suggestions = [item[0] for item in data['items'][0]]
return suggestions
else:
print("자동완성 요청 실패:", response.status_code)
return None
# 엑셀에서 query 읽기
input_df = pd.read_excel("input_queries.xlsx", header=None)
queries = input_df.iloc[0].tolist() # 첫 번째 행의 모든 query 가져오기
# 결과를 저장할 리스트
results = []
# 각 query에 대해 자동완성 결과 가져오기
for query in queries:
suggestions = get_naver_autocomplete(query)
results.append(suggestions)
# 결과를 새로운 엑셀 파일로 저장
output_df = pd.DataFrame([queries, results]) # queries는 1행, results는 2행에 저장
output_df.to_excel("output_suggestions.xlsx", index=False, header=False)
print("자동완성 결과가 output_suggestions.xlsx 파일에 저장되었습니다.")
코드 수정하기
시간 지연하여 요청하는 것을 알려주렴.