게시판이나 웹 페이지에 있는 데이터를 긁어 오기 위해 사용 할 수 있는 라이브러리에서 최선의 선택은 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" 으로 지정된 것을 확인할 수 있다.