흰 스타렉스에서 내가 내리지

웹 크롤링 1 - requests, bs4 라이브러리 본문

Web Crawling

웹 크롤링 1 - requests, bs4 라이브러리

주씨. 2022. 2. 17. 14:51
728x90
import requests
from bs4 import BeautifulSoup

request = requests.get('https://www.google.com')
raw = request.text
html = BeautifulSoup(raw, 'html.parser')

requests와 BeautifulSoup라는 클래스가 있다.

 

requests는 웹 페이지에 요청할 수 있는 기능들을 모아놓은 클래스이다.

get() 함수에 매개변수로 어느 웹 사이트의 주소를 넣으면, 해당 웹사이트에 대한 정보가 담겨있는 requests객체가 반환된다.

raw변수는 사실 html문서가 아닌 String 타입의 그녕 문자열일 뿐이다.

 

BeautifulSoup는 String 타입의 값을 살아있는 HTML문서로 바꿔준다.

따라서 html변수는 태그, 클래스 하나하나가 웹 페이지와 같은 의미를 가지고 있다.

 

print(type(raw))
print(type(html))

 

 

 

 

html.select() 함수를 사용하면, html변수에 담긴 HTML문서 안에서 입력된 선택자를 갖는 요소를 리스트 타입으로 모두 가져온다
html.select_one() 함수를 사용하면, 매개변수로 지정된 경로에 일치하는 요소들 중 맨 처음 나오는 하나를 리턴한다, 

 

태그를 다 빼고, text content만 가져오고 싶다면 text 프로퍼티애 접근하면 된다.

selector = html.select_one('#NM_FAVORITE > div.group_nav > ul.list_nav.type_fix > li:nth-child(6) > a > span')
print(selector)
print(selector.text)