본문 바로가기

[1편] 웹 크롤링 기초 개념 & 준비하기

디지털 백수 2025. 3. 26.
반응형

 

웹 크롤링 기초 개념 & 준비하기 🚀

웹 크롤링(Web Crawling)은 웹사이트에서 데이터를 자동으로 수집하는 기술입니다. 이 튜토리얼에서는 Python의 BeautifulSoup과 Requests를 활용하여 크롤링하는 방법을 배웁니다.

📌 1. 웹 크롤링이란?

웹 크롤링은 웹사이트에서 특정 정보를 가져와서 분석하는 기술입니다. 크롤링한 데이터는 뉴스 기사, 제품 가격, 게임 정보, 주식 데이터 등을 분석하는 데 활용됩니다.

🔹 웹 크롤링의 활용 예시

  • 쇼핑몰 가격 비교 (네이버 쇼핑, 쿠팡, 11번가 등)
  • 게임 정보 수집 (스팀, 에픽게임즈 등)
  • 뉴스 기사 자동 수집 (네이버 뉴스, 다음 뉴스 등)
  • 트렌드 분석 (트위터, 인스타그램 키워드 분석)

📌 2. 웹 크롤링을 위해 필요한 패키지 설치

크롤링을 하기 위해 Python의 requestsBeautifulSoup 패키지를 설치해야 합니다.

pip install requests beautifulsoup4

📌 3. Requests & BeautifulSoup 기본 사용법

🔹 웹페이지 요청하기

requests 라이브러리를 사용하여 웹페이지의 HTML 코드를 가져올 수 있습니다.

import requests

url = "https://store.steampowered.com/"
response = requests.get(url)

print(response.text)  # HTML 코드 출력

🔹 HTML에서 원하는 데이터 추출하기

BeautifulSoup을 사용하여 HTML에서 원하는 정보를 가져올 수 있습니다.

from bs4 import BeautifulSoup

html_code = "<html><head><title>스팀 스토어</title></head><body>게임 목록</body></html>"
soup = BeautifulSoup(html_code, "html.parser")

print(soup.title.text)  # 결과: 스팀 스토어

📌 4. 스팀 게임 목록 가져오기 (예제)

🔹 스팀 메인 페이지에서 인기 게임 제목 가져오기

import requests
from bs4 import BeautifulSoup

url = "https://store.steampowered.com/"
headers = {"User-Agent": "Mozilla/5.0"}
response = requests.get(url, headers=headers)

soup = BeautifulSoup(response.text, "html.parser")

# 인기 게임 목록 추출 (CSS 선택자 사용)
games = soup.select(".tab_item_name")

print("🔥 스팀 인기 게임 목록:")
for game in games[:10]:  # 상위 10개만 출력
    print("-", game.text)

📌 5. 크롤링 시 주의할 점

  • 🚨 robots.txt 규칙 확인: 특정 사이트는 크롤링을 금지할 수 있음.
  • ⚠️ 과도한 요청 주의: 짧은 시간에 많은 요청을 보내면 차단될 수 있음.
  • User-Agent 설정: 일반 브라우저처럼 보이도록 설정 필요.

📌 6. 마무리 & 다음 강의 예고

이번 강의에서는 웹 크롤링의 개념과 기초적인 사용법을 배웠습니다. 다음 강의에서는 스팀 게임 정보를 본격적으로 크롤링하며, 게임 가격, 할인 정보, 출시일 등을 가져오는 방법을 다룰 예정입니다!

🎯 [다음 편 예고] "스팀 게임 정보 크롤링 (실전)"에서 더 깊이 있는 내용을 다뤄보겠습니다!

반응형

댓글