파이썬 마법 학교 16강: 인터넷 바다에서 보물 낚시하기, ‘크롤링’ 마법

안녕하세요! 가족과 함께하는 스마트 라이프입니다. 지난 시간에 우리는 시간을 맞춰 일하는 비서를 만들었죠? 오늘은 그 비서에게 특별한 기술을 가르쳐줄 거예요. 바로 인터넷이라는 거대한 바다에서 우리가 원하는 정보만 낚아 올리는 ‘크롤링(Crawling)’ 마법입니다!

파이썬 마법 학교 16강: 인터넷 바다에서 보물 낚시하기, '크롤링' 마법

1. 크롤링은 ‘자동 정보 수집가’예요

우리가 매일 날씨를 보러 포털 사이트에 들어가고, 뉴스 제목을 읽는 과정을 떠올려 보세요. 손가락으로 클릭하고 눈으로 읽는 이 번거로운 일을 파이썬 비서에게 시킬 수 있답니다. 비서가 웹사이트의 코드를 읽어서 “제목만 가져와!” 혹은 “오늘의 온도만 알려줘!”라는 명령을 수행하는 것이 바로 크롤링이에요.

2. 크롤링을 위한 두 가지 마법 도구

낚시를 할 때 낚싯대와 바늘이 필요하듯, 크롤링에도 두 가지 도구(라이브러리)가 필요해요.

  • Requests (낚싯대): 웹사이트에 접속해서 데이터를 가져오는 역할을 해요.
  • BeautifulSoup (바늘): 가져온 데이터 뭉치에서 내가 원하는 정보만 콕 집어내는 역할을 해요.

3. 실전 연습: 웹사이트 제목 낚아보기

아주 간단한 코드로 웹사이트의 이름을 가져오는 마법을 부려볼까요? (이 코드를 실행하려면 라이브러리 설치가 필요할 수 있어요!)

import requests
from bs4 import BeautifulSoup

# 1. 낚시를 갈 주소(URL)를 정해요
url = "https://www.google.com"

# 2. 낚싯대를 던져서 데이터를 가져와요
response = requests.get(url)

# 3. BeautifulSoup 바늘로 정보를 정리해요
soup = BeautifulSoup(response.text, 'html.parser')

# 4. 'title' 태그 안에 있는 글자만 꺼내요
print("🎣 낚아 올린 정보:", soup.title.string)
print("파이썬 비서가 구글 사이트의 제목을 읽어왔습니다!")
파이썬 마법 학교 16강: 인터넷 바다에서 보물 낚시하기, '크롤링' 마법

4. 주의할 점: 착한 낚시꾼이 되어야 해요!

인터넷 바다에서 정보를 가져올 때는 지켜야 할 예절이 있어요. 너무 빠르게 수만 번 정보를 요청하면 웹사이트가 아파하거나(서버 과부하), 주인이 싫어할 수 있답니다. 그래서 우리는 지난 시간에 배운 time.sleep()을 써서 천천히 정보를 가져오는 ‘예의 바른 비서’를 만들어야 해요.

5. 가족과 함께하는 ‘정보 보물찾기’

아이와 함께 종이에 웹사이트 화면을 그려보세요. 그리고 “여기서 우리가 자동으로 가져오고 싶은 정보가 뭐야?”라고 물어봐 주세요. “영화 순위!”, “오늘의 운세!”, “좋아하는 운동선수의 성적!” 등 아이들이 관심을 두는 정보를 리스트로 만들어보는 거예요. 그 리스트가 바로 내일 우리가 만들 ‘진짜 자동 비서’의 임무가 될 것입니다.

마치며: 정보의 바다를 다스리는 법

오늘 우리는 클릭 한 번 없이 정보를 가져오는 신기한 마법을 배웠습니다. 이제 여러분의 비서는 스스로 공부할 재료를 찾아오는 능력을 갖추게 되었네요! 다음 시간에는 오늘 배운 크롤링 기술을 활용해서, 매일 아침 ‘오늘의 날씨와 뉴스’를 요약해주는 멋진 비서를 완성해 보겠습니다!