Python

Python.데이터 수집

calla1013 2025. 5. 25. 16:54
🕸️ 파이썬 웹 크롤링/스크래핑: 데이터 수집의 핵심 기술

🕸️ 파이썬 웹 크롤링/스크래핑: 데이터 수집의 핵심 기술

안녕하세요! 오늘은 파이썬을 활용하여 웹 데이터를 수집하는 핵심 기술인 웹 크롤링웹 스크래핑을 가장 쉽고 실용적으로 알려드릴게요. 아래 예제 코드와 함께 직접 따라하면 누구나 가능하답니다 😊


📌 웹 크롤링 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