나도 해봤다! 파이썬으로 첫 웹 크롤링 (BeautifulSoup 입문)
코딩 초보도 가능한 웹 데이터 수집! 파이썬 BeautifulSoup으로 크롤링 입문해보세요.
안녕하세요! 여러분은 웹사이트에서 정보를 자동으로 가져오는, 일명 ‘웹 크롤링’ 해보신 적 있으신가요? 저도 처음엔 ‘웹 데이터를 어떻게 가져오지?’ 막막했지만, BeautifulSoup
을 만나고 나서 생각이 완전히 바뀌었어요. HTML 구조만 조금 이해하면 누구나 따라 할 수 있더라고요. 오늘은 코딩 경험이 많지 않아도 가능한, 진짜 쉬운 웹 크롤링 입문 가이드를 준비했어요. 여러분도 직접 뉴스 제목이나 날씨 정보를 크롤링해보면서 데이터 수집의 재미를 느껴보세요!
목차
BeautifulSoup이란? 크롤링에 딱 좋은 이유
BeautifulSoup(뷰티풀숩)은 HTML 문서를 쉽게 파싱(분석)할 수 있도록 도와주는 파이썬 라이브러리예요. 크롤링에 가장 많이 쓰이는 도구 중 하나이며, 배우기 쉽고 간결한 코드로 유명하죠. 복잡한 웹 구조도 간단한 코드로 정보를 추출할 수 있어 초보자에게 강력 추천됩니다.
설치부터 기본 코드까지: 진입장벽 ZERO
먼저 필요한 라이브러리를 설치해야 해요. 기본적으로 requests
와 beautifulsoup4
를 설치하면 됩니다.
라이브러리 | 설치 명령어 |
---|---|
requests | pip install requests |
beautifulsoup4 | pip install beautifulsoup4 |
설치 후에는 아래 코드로 기본 구조를 만들 수 있어요.
import requests from bs4 import BeautifulSoup url = "https://example.com" res = requests.get(url) soup = BeautifulSoup(res.text, "html.parser")
HTML 요소 선택법: 태그, 클래스, 아이디
원하는 정보를 추출하려면 HTML 요소를 선택할 줄 알아야 해요. 아래 메서드들이 자주 쓰입니다.
soup.find("태그")
- 첫 번째 해당 태그soup.find_all("태그")
- 모든 해당 태그soup.select("CSS 선택자")
- 클래스, 아이디 등 복잡한 구조
title = soup.find("h1").text items = soup.select(".item")
실전 예제: 뉴스 헤드라인 수집
실제 웹사이트에서 데이터를 가져와볼게요. 아래는 네이버 뉴스 페이지에서 주요 뉴스 제목을 가져오는 간단한 코드예요.
import requests from bs4 import BeautifulSoup url = "https://news.naver.com/" res = requests.get(url) soup = BeautifulSoup(res.text, "html.parser") headlines = soup.select(".hdline_article_tit a") for headline in headlines: print(headline.text.strip())
클래스 이름은 사이트 구조에 따라 달라지니, F12로 요소 검사 후 정확한 선택자를 확인하세요.
크롤링 시 주의사항과 팁
크롤링은 편리하지만, 법적·윤리적으로 주의할 점도 많습니다. 꼭 체크하세요.
주의할 점 | 설명 |
---|---|
robots.txt 확인 | 크롤링이 허용된 경로만 접근 |
User-Agent 설정 | 봇 차단 방지를 위한 헤더 설정 |
요청 간 간격 두기 | time.sleep() 등으로 서버 부하 줄이기 |
한눈에 정리! 첫 크롤링 로드맵
requests
로 HTML 가져오기BeautifulSoup
으로 요소 추출find / select
로 원하는 데이터 필터링- 출력하거나 저장하기 (
print
,csv
,엑셀
)
HTML이 간단하거나 정적인 웹페이지 크롤링에 적합합니다. 자바스크립트가 적은 페이지에 특히 강해요.
BeautifulSoup 자체로는 어렵지만, Selenium 같은 도구와 함께 사용하면 가능합니다.
CSS 선택자나 태그가 바뀌면 코드도 수정해야 합니다. 정기적으로 구조를 확인하는 게 좋아요.
네, CSV, 엑셀, 텍스트 파일 등 원하는 형식으로 저장할 수 있어요. pandas
와 함께 쓰면 더 편리해요.
공공데이터나 robots.txt로 허용된 영역은 괜찮지만, 무단 데이터 수집은 법적으로 문제가 될 수 있어요. 꼭 사전 확인하세요.
파이썬 스크립트를 일정 시간마다 실행되게 스케줄링하면 돼요. 윈도우 작업 스케줄러, 크론탭 등을 활용하세요.
첫 웹 크롤링, 생각보다 쉽지 않으셨나요? 처음엔 생소한 태그나 구조에 당황할 수도 있지만, 직접 데이터를 수집해보면 세상 모든 정보가 내 손안에 들어오는 느낌을 받게 됩니다. BeautifulSoup은 웹 데이터를 빠르게 체험하고 싶은 분들에게 딱 맞는 도구예요. 오늘 배운 내용을 기반으로, 원하는 사이트 구조를 분석하고 한 줄씩 코드를 작성해보세요. 작게 시작해도 어느새 뉴스, 블로그, 쇼핑몰까지 다루는 크롤링 마스터가 되어 있을 거예요!
📌 이 글의 URL: 다른글도 참고하세요
태그: 파이썬크롤링, 웹크롤링입문, beautifulsoup사용법, bs4예제, 웹데이터수집, 파이썬초보자, 웹스크래핑, requests사용법, 뉴스크롤링, 파이썬기초