2018. 7. 13.

[파이썬] BeautifulSoup 으로 네이버 실시간 검색어 긁어오기

1. 개요
게시판이나 웹 페이지에 있는 데이터를 긁어 오기 위해 사용 할 수 있는 라이브러리에서 최선의 선택은 BeautifulSoup 이다.

** 파이선 버전 3.6 에서는 BeautifulSoup4 를 인스톨해야 된다. 


'''
# 웹 크롤링
- 웹 그롤링을 하려면 HTML과 CSS에 대한 지식이 동반되어야 한다.
- CSS 셀렉터, 자바스크립트 DOM의 이해가 필요하다.
- CSS DOM 셀렉터, jQuery DOM 셀렉터
    클래스 선택자 : 점(.)으로 시작  .class_name
    아이디 선택자 : 샵(#)으로 시작  #id_name
    속성 선택자 : 대괄호([])를 이용  img[title=aaaa]
- 정규표현식 import re 임포트 가능하다.
'''

import requests
from bs4 import BeautifulSoup

# requst.get()을 이용해서  response 객체를 얻어온다.
# 요청 : request
# 응답 : response

response = requests.get("https://www.naver.com/")
assert response.status_code is 200

#print(response.content)
# response에 받아온 정보의 내용을
# BeautifulSoup를 이용해서 DOM으,로 변환다. (DOM = HTML 형식)
# 다시 말해서 BeautifulSoup 객체가 DOM인 것이다.

dom = BeautifulSoup(response.content, "html.parser")
#print(dom)
#DOM 형식으로 변환 - 실제 HTML 문서 형식처럼 바뀐다.
#print((dom.select('span'))[2].text)

search_list = dom.select("div.ah_list span.ah_k")
#print(search_list)
for element in search_list:
    print(element.text)


이처럼 실시간 순위가 리스팅 된다.



소스 보기로 보면 <div class="ah_list 밑에 있는 부분의 <span class="ah_k" 으로 지정된 것을 확인할 수 있다.




Popular Posts

Recent Posts

Blog Archive

Powered by Blogger.