웹 크롤링은 인터넷에서 원하는 정보를 자동으로 수집하는 기술로, 프로그래밍 경험이 없는 사람도 쉽게 배울 수 있습니다. 특히 파이썬은 간단한 문법과 강력한 라이브러리를 제공하여 크롤링을 배우기에 적합합니다. 이 글에서는 비전공자를 위해 파이썬 웹 크롤링의 기본 개념과 사용법을 쉽게 설명하겠습니다.
1. 웹 크롤링이란? 비전공자를 위한 개념 정리
웹 크롤링(Web Crawling)이란 웹사이트의 데이터를 자동으로 가져와 분석하는 기술입니다. 예를 들어, 뉴스 사이트에서 최신 기사 제목을 자동으로 수집하거나, 쇼핑몰에서 특정 상품의 가격을 비교하는 용도로 활용됩니다.
웹 크롤링의 기본 원리
- HTTP 요청 보내기: 특정 웹페이지에 접속하여 데이터를 요청
- HTML 데이터 가져오기: 웹페이지에서 필요한 정보를 수집
- 데이터 추출 및 정리: 원하는 부분만 선별하여 가공
- 저장 및 활용: 엑셀, 데이터베이스 등에 저장하여 분석
웹 크롤링을 배우면 반복적인 데이터 수집 업무를 자동화할 수 있으며, 데이터 분석, 마케팅, 연구 등 다양한 분야에서 활용할 수 있습니다.
2. 파이썬 웹 크롤링을 위한 필수 라이브러리
파이썬에서는 웹 크롤링을 쉽게 할 수 있도록 다양한 라이브러리를 제공합니다.
(1) Requests – 웹페이지 요청 라이브러리
웹페이지에 접속하고 HTML 데이터를 가져오는 역할을 합니다.
import requests
url = "https://example.com"
response = requests.get(url)
print(response.text) # 웹페이지 HTML 출력
(2) BeautifulSoup – HTML 데이터 파싱(Parsing)
웹페이지에서 원하는 정보만 추출하는 데 사용됩니다.
from bs4 import BeautifulSoup
html = "<html><body><h1>안녕하세요</h1></body></html>"
soup = BeautifulSoup(html, "html.parser")
print(soup.h1.text) # "안녕하세요" 출력
(3) Selenium – 동적 웹페이지 크롤링
일부 웹사이트는 자바스크립트로 동작하므로, 일반적인 방법으로 데이터를 가져올 수 없습니다. 이 경우 Selenium을 사용하면 실제 브라우저를 실행해 원하는 정보를 가져올 수 있습니다.
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://example.com")
print(driver.page_source) # 웹페이지 HTML 출력
driver.quit()
이 세 가지 라이브러리를 활용하면 대부분의 웹사이트에서 데이터를 수집할 수 있습니다.
3. 실전! 간단한 파이썬 웹 크롤링 코드 예제
실제로 네이버 뉴스에서 최신 기사 제목을 수집하는 간단한 크롤링을 만들어 보겠습니다.
(1) 필요한 라이브러리 설치
터미널에서 아래 명령어를 실행하세요.
pip install requests beautifulsoup4
(2) 네이버 뉴스 제목 가져오기
import requests
from bs4 import BeautifulSoup
# 네이버 뉴스 페이지 URL
url = "https://news.naver.com/main/list.nhn?mode=LSD&mid=sec&sid1=100"
# 웹페이지 요청
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
# 뉴스 제목 가져오기
news_titles = soup.select(".list_body.newsflash_body a")
for title in news_titles:
print(title.text.strip())
이 코드를 실행하면 네이버 뉴스 페이지에서 최신 뉴스 제목들을 자동으로 가져올 수 있습니다.
결론: 비전공자도 쉽게 할 수 있는 웹 크롤링
파이썬 웹 크롤링은 프로그래밍 경험이 없는 사람도 쉽게 배울 수 있는 기술입니다. Requests와 BeautifulSoup을 사용하면 정적 웹페이지에서 데이터를 가져올 수 있으며, Selenium을 활용하면 동적 웹사이트 크롤링도 가능합니다. 웹 크롤링을 배우면 뉴스, 쇼핑몰, SNS 등의 데이터를 자동으로 수집하고 분석하는 데 활용할 수 있습니다. 이제 직접 파이썬을 설치하고 간단한 크롤링을 시도해보세요!