🕸️ 파이썬 웹 크롤링/스크래핑: 데이터 수집의 핵심 기술
안녕하세요! 오늘은 파이썬을 활용하여 웹 데이터를 수집하는 핵심 기술인 웹 크롤링과 웹 스크래핑을 가장 쉽고 실용적으로 알려드릴게요. 아래 예제 코드와 함께 직접 따라하면 누구나 가능하답니다 😊
📌 웹 크롤링 vs 웹 스크래핑
- 웹 크롤링(Web Crawling): 웹 페이지를 자동으로 순회하며 URL, HTML 등을 수집
- 웹 스크래핑(Web Scraping): 웹 페이지의 특정 데이터(텍스트, 이미지 등)를 추출하는 작업
👉 크롤링 = 전체 수집 / 스크래핑 = 부분 추출
📚 필수 라이브러리 설치
pip install requests beautifulsoup4 selenium
🔍 정적 페이지 크롤링 (requests + BeautifulSoup)
import requests
from bs4 import BeautifulSoup
url = "https://news.ycombinator.com"
res = requests.get(url)
soup = BeautifulSoup(res.text, "html.parser")
# 제목 추출
for title in soup.select(".titleline > a"):
print(title.text)
▶ requests는 HTML을 가져오고, BeautifulSoup은 원하는 요소를 추출해줍니다.
🧠 동적 페이지 제어 (Selenium)
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
driver = webdriver.Chrome() # chromedriver 경로 생략 시 환경변수 설정 필요
driver.get("https://www.google.com")
search = driver.find_element(By.NAME, "q")
search.send_keys("파이썬 웹 크롤링")
search.submit()
time.sleep(2) # 로딩 대기
driver.quit()
find_element는 원하는 요소를 찾고, send_keys/submit은 실제 동작을 자동화합니다.
🖼️ 이미지 저장하기 (urllib.request)
import urllib.request
img_url = "https://www.python.org/static/img/python-logo.png"
save_path = "python-logo.png"
urllib.request.urlretrieve(img_url, save_path)
print("이미지 저장 완료 ✅")
이미지 URL만 알면 다운로드도 간단히 완료!
✅ 실전 팁: CSS 선택자 완전정복
.class: 클래스 선택#id: 아이디 선택div > p: 자식 선택a[href]: 속성 포함
soup.select(".post-title > a[href]")
CSS 선택자는 빠르고 직관적이며, 크롤링의 핵심입니다.
🎯 마무리하며
웹 크롤링과 스크래핑은 뉴스 수집, 상품 비교, 트렌드 분석 등 수많은 데이터 프로젝트에 활용됩니다. 정적인 페이지는 requests + BeautifulSoup, 동적인 페이지는 Selenium으로 공략하세요.
✨ 데이터를 수집할 줄 알면, 세상을 분석할 수 있습니다!
도움이 되셨다면 댓글과 공감 부탁드려요 🙏
'Python' 카테고리의 다른 글
| Matplotlib_Cheat_ (0) | 2025.05.25 |
|---|---|
| Pandas_Cheat_ (0) | 2025.05.25 |
| Python.DB 활용 (0) | 2025.05.25 |
| Python.GUI (1) | 2025.05.25 |
| Python.기초 (0) | 2025.05.25 |