HTTP 요청으로 크롤링하기
브라우저 없이 데이터만 빠르게 가져오는 방법
크롤링 1-4 · HTTP 요청편
한 장으로 이해하기
브라우저 제어 vs HTTP 요청
브라우저 제어는 화면을 열고 클릭합니다.
HTTP 요청은 서버에 바로 편지를 보냅니다.
HTTP 요청 전에 알아둘 개념
API란?
쉽게 말하면
서비스가 데이터를 주고받기 위해 공식으로 열어 둔 약속된 창구
왜 공식 API를 제공할까?
- 필요한 데이터만 정확하게 줄 수 있다
- 서버에 부담이 적고 안정적으로 운영할 수 있다
- 로그인, 권한, 사용량을 관리할 수 있다
크롤링과의 차이
- 크롤링은 화면이나 HTML에서 찾는다
- API는 서비스가 정한 규칙대로 요청한다
- 가능하면 공식 API가 더 안전하고 깔끔하다
✅
API 흐름: API 주소로 요청 → JSON 같은 데이터 응답 → 필요한 값만 사용
아주 쉬운 비유
HTTP 요청은 “주문서만 보내기”
브라우저 제어
가게에 직접 들어가서 메뉴판을 보고 주문
화면을 열고, 클릭하고, 기다립니다.
HTTP 요청
주방에 주문서만 바로 전달
필요한 데이터만 바로 받습니다.
💡
화면이 꼭 필요 없으면 HTTP 요청이 더 빠르고 가볍습니다.
기본 흐름
요청하고, 응답 받고, 골라낸다
STEP 1주소 준비
→
STEP 2요청 보내기
→
STEP 3응답 받기
→
STEP 4원하는 값 추출
URL → 서버에 "페이지 주세요" → HTML/JSON 도착 → 제목·가격·뉴스만 뽑기
Python 예시
가장 작은 크롤링 코드
import requests
from bs4 import BeautifulSoup
url = "https://example.com"
res = requests.get(url)
soup = BeautifulSoup(res.text, "html.parser")
title = soup.select_one("h1").get_text(strip=True)
print(title)
✅
requests는 페이지를 받아오고, BeautifulSoup은 HTML에서 원하는 글자를 찾습니다.
언제 좋을까?
HTTP 요청이 잘 맞는 경우
1
페이지 소스에 원하는 데이터가 이미 들어 있다
2
뉴스 제목, 상품명, 가격처럼 화면 조작 없이 읽기만 하면 된다
3
많은 페이지를 빠르게 반복 수집해야 한다
주의할 점
안 되는 경우도 있다
HTTP 요청이 어려운 경우
- 로그인 후에만 보이는 데이터
- 클릭해야 나타나는 데이터
- 자바스크립트가 나중에 채우는 데이터
그럴 때는?
- 개발자도구 Network 탭에서 API 찾기
- API가 어렵다면 브라우저 제어로 전환
- 먼저 가벼운 방법부터 시도
오늘의 결론
HTTP 요청은 빠른 데이터 배달
| 핵심 | 설명 |
| 브라우저 제어 | 사람처럼 화면을 열고 클릭한다 |
| HTTP 요청 | 서버에 바로 요청해서 데이터만 받는다 |
| 장점 | 빠르고 가볍고 반복 수집에 좋다 |
| 순서 | 먼저 HTTP 요청 → 안 되면 브라우저 제어 |