본문 바로가기
개발/Python

[py] 네이버 연관검색어 결과 크롤링

by 코딩하는 갓디노 2022. 10. 7.

[py] 네이버 연관검색어 결과 크롤링

 

ajax를 이용한
네이버 자동검색 결과 크롤링

 

구현 내용

  • 네이버 검색어 입력시 연관 검색어 리스트 크롤링
  • ajax를 호출하는 request url을 이용해 페이지 호출 
  • 검색어 + ㄱ ~ ㅎ까지 추출하여 메모장(.txt)에 저장

 

구현 코드

  • json.loads(data) 를 통해 딕셔너리 형태로 변환
import requests
import json
import pyautogui

keyword = pyautogui.prompt('검색어를 입력하세요.')
letters = ['ㄱ','ㄴ','ㄷ','ㄹ','ㅁ','ㅂ','ㅅ','ㅇ','ㅈ','ㅊ','ㅋ','ㅌ','ㅍ','ㅎ']
f = open(f'{keyword}.txt', 'w', encoding='utf-8') # 파일 열기 모드 w : 새로 만들기, a : 추가, r : 읽기

for letter in letters:
    keyword_re = keyword + letter
    #print(keyword_re)
    response = requests.get(f'https://ac.search.naver.com/nx/ac?q={keyword_re}&con=1&frm=nv&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_19')
    data = response.text
    str_data = data.split('_jsonp_19(')[1][:-1] #[:-1] 마지막 요소 없애기
    dic_data = json.loads(str_data)
    #print(dic_data)
    for data in dic_data['items'][0]:
        #print(data[0])
        f.write(data[0]+ '\n')
f.close()

 

구현 화면

 

반응형

댓글