DevKim
[초보자를 위한 웹 크롤링 web crawling #3] 네이버 실시간 검색순위 가져오기 본문
[초보자를 위한 웹 크롤링 web crawling #3] 네이버 실시간 검색순위 가져오기
on_doing 2020. 4. 20. 22:39
오늘은 네이버 실시간 검색순위를 가져오는 실습을 진행해보겠습니다.
1.라이브러리 import
먼저 저번에 설치한 BeautifulSoup 라이브러리와 requests 라이브러리를 import를 통해 불러와줍니다.
* 만약 아래 코드를 실행했는데 아무런 변화도 없다면 성공적으로 설치가 완료된 것입니다 ㅎㅎ
2.실시간 네이버 검색순위 가져오기
코드는 이게 전부입니다. 간단하죠 ?? 코드를 하나하나 설명해보겠습니다.
requests.get("주소")
:requests 라이브러리를 이용하여 원하는 주소를 가져오는 코드입니다.
저희는 naver의 실시간 검색순위가 필요하니 주소부분에 naver메인창의 주소를 가져오면 됩니다.
html= BeautifulSoup(r.content,"html.parser")
: 보기쉽게 html로 파씽하여 정렬하는 코드입니다.
r.content는 위에서 불러온 주소(변수 r에 저장되어있음)의 content를 가져온다는 뜻입니다.
파씽하여 정렬한것을 html 변수에 저장해 주었습니다.
span=html.select("span.ah_k")
: 위에 정렬한 데이터중 span 태그안에 class가 ah_k 인 리스트를 span 변수에 저장하는 코드입니다.
이부분은 밑에 사진을 보면서 자세하게 설명해볼게요
1)먼저 우리는 네이버의 실시간 검색어를 가져와야하니, Crome으로 네이버를 들어간뒤 F12를 누르면 해당 웹페이지에 대한 소스코드가 나와요!! 이 소스코드를 보고 원하는 부분을 추출하는 과정을 하는거예요
2) 오른쪽 코드 부분에서 ▶를 누르면 숨어있는 태그들이 나오기 시작하는데 코드에 마우스를 올리게되면 그 코드가 어떤 부분을 이루고 있는지가 나와요!!
밑에 이미지처럼 마우스를 올린부분이 네이버의 상단을 구성하고 있기때문에 상단이 파란색으로 칠해진 것 입니다.
우리가 원하는 실시간 검색순위는 저 파란색으로 칠해진 부분 안에 있기 때문에 그 안에서 ▶를 눌러서 원하는 부분에 파란색이 칠해질때까지 찾으면 됩니다!!
3)아래 보이는 노란색으로 표시된 부분을 선택한후, 네이버 실시간검색 순위에 마우스를 올리면
span.ah_k라고 나오는 것을 볼 수 있습니다.
이것은 span태그안에 class명이 ah_k로 이루어진 태그로 구성되어있다는 것을 뜻합니다.
마우스를 올리면 <span class="ah_k"> 부분이 파란색으로 칠해지는 것을 보실 수 있을거예요
※ 참고로 .는class탐색이고#은 id 탐색 입니다
--> class와 id에 대한 자세한 내용은 html을 공부해야 이해할 수 있을거예요
그냥 간단히 말하면 어떤 데이터의 별명이라고 생각해두고 이해를 해보는게 좋을거같아요.
cnt=0
for i in span:
cnt+=1
print(i.text)
if cnt==20:
break
:이 부분은 위에서 데이터를 가져올때 select 매소드를 사용하였는데, 이때 select 매소드는 데이터가 리스트형태로 저장되기 때문에 for문을 이용하여 리스트 하나하나의 검색어 text를 가져온 것 입니다.
코드를 실행하면 아래와 같이 1위부터 20위까지의 실시간 검색 순위가 나오는 것을 보실 수 있습니다 ㅎㅎ
전체코드
import requests
from bs4 import BeautifulSoup
r=requests.get("https://www.naver.com")
html= BeautifulSoup(r.content,"html.parser")
span=html.select("span.ah_k")
cnt=0
for i in span:
cnt+=1
print(i.text)
if cnt==20:
break
다음 포스팅은네이버 영화 리뷰 크롤링 에 대해 알아보도록 하겠습니다.
'데이터 수집 [ Web crawling ]' 카테고리의 다른 글
[Selenium] 간단한 실습 모음- 네이버 금융, SMB 환율 (0) | 2020.09.07 |
---|---|
[초보자를 위한 웹 크롤링 web crawling #5] 셀레니움설치/ 크롬드라이버 설치/ 셀레니움(selenium)으로 네이버 자동 로그인하기 실습 (0) | 2020.04.20 |
[초보자를 위한 웹 크롤링 web crawling #4] 네이버 영화 리뷰 크롤링 (0) | 2020.04.20 |
[초보자를 위한 웹 크롤링 web crawling #2] 기본 라이브러리 설치 BeautifulSoup & requests (0) | 2020.04.20 |
[초보자를 위한 웹 크롤링 web crawling 기초 #1] 파이썬으로 웹 크롤링 시작하기 - 웹 크롤링이란? (0) | 2020.04.20 |