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()
구현 화면
반응형
'개발 > Python' 카테고리의 다른 글
[py] 네이버 블로그 이웃 추가 자동화 (1) | 2022.10.11 |
---|---|
[py] 파이썬 gui (ft. pyqt5 설치, 기본 세팅, Qt designer 설치) (0) | 2022.10.08 |
[py] 크롤링 데이터 엑셀에 저장 (0) | 2022.10.05 |
[py] request 이용하여 웹 크롤링 예제 (0) | 2022.10.03 |
[py] 메일 자동화 발송 (ft. 셀레니움) (0) | 2022.10.02 |
댓글