*파이썬, 주피터노트북 설치가 안되어있다면 아래 url참고

https://vmpo.tistory.com/entry/python-%EC%95%84%EB%82%98%EC%BD%98%EB%8B%A4anaconda-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0-%EC%9C%88%EB%8F%84%EC%9A%B0-10

 

 

우리나라에서 가장 높은 view수가 있을 것으로 보이는 네이버 실시간 검색어 순위를 크롤링해보도록 하겠습니다.

 

네이버 검색어 순위 조회는 다양한 방법이 있습니다.

아래 각각의 방법을 확인해보시고 편한 방법을 선택하시면 됩니다.

 

검색어 순위 js파일 직접조회


아래 URL은 실시간 검색어를 저장하는 JS파일을 조회할 수 있는 url입니다.

아래 url을 직접 조회해서 검색어 순위를 알 수 있습니다.

http://rank.search.naver.com/rank.js

 

json_normalize 사용

[복사코드]

import requests
import json
from pandas.io.json import json_normalize
 
json_normalize(json.loads(result.text), ['data''data'])

 

BeautifulSoup 사용


네이버 메인화면(https://www.naver.com/)의 급상승 검색어영역을 F12를 눌러 개발자도구로 태그를 확인해 봅니다.

1~10위의 실시간 검색어 순위가 출력되는 데이터 영역의 HTML 태그를 확인 할 수 있습니다.

 

네이버 검색어의 경우, 

html태그와 class속성을 기준으로 '.ah_l > .ah_item > a' 로 접근 할 경우

<span class="ah_r">1</span> <span class="ah_k">오세근</span> 태그까지 접근 할 수 있습니다.

그럼 코드로 구현해보 겠습니다.

 

 

아래 코드로 간단하게 구현 가능합니다.

beautifulSoup으로 html 전체 정보를 가져온후,

select('.ah_l > .ah_item > a' ) 로 span태그에 접근합니다.

그 후 link_list 변수의 정보를 아래와 같이 출력해주면 1~20위의 검색어 순위를 확인 할 수 있습니다.

[복사코드]

import requests
from bs4 import BeautifulSoup
 
realtime_s_word = requests.get(naver)
realtime_s_word_list =  BeautifulSoup(realtime_s_word.content,"html.parser",from_encoding='utf=8')
 
link_list = realtime_s_word_list.select('.ah_l > .ah_item > a')[:20]
link_list
 
for i in link_list:
    print(i.select('.ah_r')[0].text +"위 : "+ i.select('.ah_k')[0].text)

 

LIST
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기