네이버가 이제 실시간 검색어 부분을 동적으로 불러오도록 정책이 바뀌었네요.
덕분에 불필요한 리소스를 가져올 필요가 없어서 트래픽도 엄청 줄어들고 파싱을 할 때 HTML 파싱이 아닌 json 파싱이 가능해졌습니다.
import requests import json url = 'https://www.naver.com/srchrank?frm=main&ag=20s&gr=0&ma=0&si=0&en=0&sp=0' res = json.loads(requests.get(url).content) rank = [*map(lambda item: item['keyword'], res['data'])] print(rank)
여기서 ag부분은 나이를 의미하고, 나머지 파라미터의 경우에도 검색어 설정 부분에서 주어진 값을 -2에서 2까지 값으로 가중치를 주는 방식입니다. 해당 코드는 20대이면서 모든 가중치를 보통으로 준 경우에 사용하는 코드입니다.
해당 방식으로 바뀌면서 검색어의 차이를 나이 대별이나 관심사의 차이에 따라 어떻게 되는지 알아보는 실험을 하는 등의 작업이 가능하겠습니다.