728x90
스크래핑
- 웹 페이지의 특정 부분에서 필요한 정보를 추출하는 작업
- HTML 코드를 컴퓨터가 이해할 수 있는 방식으로 읽어오는 것
- 스크래핑 예시
import requests
from bs4 import BeautifulSoup
URL = "https://movie.daum.net/ranking/reservation"
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get(URL, headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
title = soup.select_one("#mainContent > div > div.box_ranking > ol > li:nth-child(1) > div > div.thumb_cont > strong > a").text
print(title)
- 원하는 웹 페이지 접속 후 원하는 부분에서 ‘검사’
- Copy → Copy selector로 선택자를 복사할 수 있음
- 선택자를 사용하는 방법
soup.select(‘태그명’)
soup.select(’클래스명’)
soup.select(’#아이디명’)
soup.select(’상위태그명 > 하위태그명 > 하위태그명’)
soup.select(’상위태그명.클래스명 > 하위태그명.클래스명’)
태그와 속성값으로 찾는 방법: soup.select(’태그명[속성=”값”]’)
한 개만 가져오고 싶은 경우: soup.select_one(’위와 동일’)
- 태그 안의 텍스트를 찍고 싶을 땐 : 태그.text
- 태그 안의 속성을 찍고 싶을 땐 : 태그[’속성’]