반응형
🕵️♂️ 웹 크롤링(Web Scraping)이란?
웹 크롤링이란 웹사이트의 데이터를 자동으로 수집하는 기술입니다. Python과 몇 줄의 코드만 있으면 뉴스 기사, 주식 가격, 제품 정보 등을 자동으로 가져올 수 있습니다.
✅ 파이썬 웹 크롤링을 배우면?
- 뉴스, 쇼핑몰, 주식 사이트에서 데이터 수집 가능
- 반복 작업 자동화 (예: 매일 환율 정보 가져오기)
- 데이터 분석 및 머신러닝 프로젝트 활용 가능
이 글에서는 단 10줄의 코드로 웹 크롤링을 구현하는 방법을 알려드립니다! 🚀
반응형
🔧 1. 웹 크롤링을 위한 필수 라이브러리 설치
웹 크롤링을 하려면 requests(웹페이지 요청)와 BeautifulSoup(HTML 파싱)을 설치해야 합니다.
pip install requests beautifulsoup4
설치가 완료되면 바로 크롤링을 시작해봅시다!
🚀 2. 10줄 코드로 웹 크롤링 구현하기
다음은 네이버 뉴스에서 최신 뉴스 제목을 가져오는 예제입니다.
import requests
from bs4 import BeautifulSoup
url = "https://news.naver.com/"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
headlines = soup.find_all("a", class_="news_tit") # 뉴스 제목 찾기
for title in headlines[:5]: # 상위 5개 출력
print(title.text)
✅ 코드 설명:
- requests.get(url): 네이버 뉴스 페이지의 HTML 가져오기
- BeautifulSoup(response.text, "html.parser"): HTML을 파싱하기 쉽게 변환
- .find_all("a", class_="news_tit"): 뉴스 제목을 담고 있는 태그 찾기
- for title in headlines[:5]: 상위 5개 뉴스 제목 출력
👉 이제 실행하면 네이버 뉴스의 최신 기사 제목이 자동으로 출력됩니다!
📌 3. 웹 크롤링 확장하기 (더 많은 데이터 수집)
🔹 1. 특정 키워드 검색 후 크롤링하기
네이버 뉴스에서 "파이썬" 키워드를 검색한 후 제목을 가져올 수도 있습니다.
search_url = "https://search.naver.com/search.naver?query=파이썬"
response = requests.get(search_url)
soup = BeautifulSoup(response.text, "html.parser")
results = soup.find_all("a", class_="news_tit")
for news in results[:5]:
print(news.text)
🔹 2. 쇼핑몰 가격 정보 가져오기
쿠팡, G마켓 같은 사이트에서 상품 가격 정보를 자동으로 수집할 수도 있습니다.
product_url = "https://www.coupang.com/vp/products/123456"
headers = {"User-Agent": "Mozilla/5.0"}
response = requests.get(product_url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
price = soup.find("span", class_="total-price").text
print(f"상품 가격: {price}")
✅ 실전에서는 사이트의 robots.txt 규정을 반드시 확인하고 크롤링하세요.
🔥 4. 웹 크롤링 시 주의해야 할 점
✅ 1. robots.txt 확인하기
- 크롤링이 허용된 사이트인지 확인하려면 https://사이트주소/robots.txt를 확인하세요.
✅ 2. 과도한 요청 방지
- 너무 많은 요청을 보내면 서버에서 차단될 수 있습니다.
- time.sleep(1)을 사용하여 일정 간격으로 요청하세요.
✅ 3. 셀레니움(Selenium) 활용하기
- requests와 BeautifulSoup만으로 크롤링이 어려운 경우, Selenium을 사용하면 동적 웹페이지도 크롤링할 수 있습니다.
pip install selenium
from selenium import webdriver
browser = webdriver.Chrome()
browser.get("https://news.naver.com")
print(browser.title) # 웹페이지 제목 출력
browser.quit()
🎯 결론: 파이썬 웹 크롤링, 이제 직접 해보세요!
✅ 10줄 코드만으로도 강력한 웹 크롤링을 구현할 수 있습니다. ✅ 뉴스, 쇼핑몰, 주식 등 다양한 사이트에서 데이터 수집이 가능합니다. ✅ 셀레니움을 활용하면 더 복잡한 크롤링도 쉽게 처리할 수 있습니다.
🚀 이제 직접 웹 크롤링을 실행해보세요!
반응형
'컴퓨터공학' 카테고리의 다른 글
[2025 최신] ChatGPT API를 활용한 자동 글쓰기 봇 만들기 (실전 코드 포함) (0) | 2025.02.07 |
---|---|
[2025 최신] 프로그래머가 되려면? IT 취업 준비 가이드 (이력서부터 포트폴리오까지) (0) | 2025.02.06 |
[2025 최신] 초보자를 위한 Git & GitHub 사용법 (버전 관리 필수 스킬) (0) | 2025.02.05 |
[2025 최신] 이것만 알면 합격! 개발자 취업을 위한 코딩 테스트 공부법 (0) | 2025.02.04 |
[2025 최신] 알고리즘 문제 풀이 사이트 추천 (코딩 테스트 대비 필수) (0) | 2025.02.03 |