[파이썬] 웹 스크래핑과 온라인 강의 정보 추출

지난 몇 년 동안, 온라인 강의 플랫폼의 인기가 급격히 상승하면서 웹 스크래핑이 매우 중요해졌습니다. 웹 스크래핑을 사용하면 온라인 강의 플랫폼에서 강의 정보를 추출하고, 이를 활용하여 강의 검색, 분석, 비교 등 다양한 작업을 수행할 수 있습니다. Python은 이러한 웹 스크래핑 작업에 적합한 뛰어난 프로그래밍 언어로 알려져 있습니다.

웹 스크래핑을 위한 라이브러리

Python에는 다양한 웹 스크래핑 라이브러리가 있습니다. 그 중에서도 Beautiful SoupRequests 라이브러리가 가장 인기 있습니다. Beautiful Soup은 HTML 또는 XML 문서를 파싱하고 검색할 수 있는 파이썬 라이브러리이며, Requests는 웹 페이지의 내용을 가져오는 HTTP 라이브러리입니다.

아래는 Python을 사용하여 웹 스크래핑을 위해 Beautiful Soup와 Requests를 설치하는 예제 코드입니다.

$ pip install beautifulsoup4
$ pip install requests

온라인 강의 정보 추출 예제

이제 실제로 온라인 강의 플랫폼에서 강의 정보를 추출해 보겠습니다. 예를 들어, Coursera라는 온라인 강의 플랫폼에서 ‘Python’이라는 키워드로 검색하여 관련 강의의 제목과 가격을 추출하는 예제 코드입니다.

import requests
from bs4 import BeautifulSoup

search_keyword = "Python"
url = f"https://www.coursera.org/search?query={search_keyword}"

response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")

courses = soup.find_all("div", class_="MuiBox-root jss6728 jss6729")

for course in courses:
    title = course.find("h2").text.strip()
    price = course.find("span", class_="ProductGlance_ribbonText_uf35vr").text.strip()
    print(f"Title: {title}")
    print(f"Price: {price}")
    print()

실행 결과는 다음과 같이 강의 제목과 가격이 출력됩니다.

Title: Python for Everybody
Price: ₩300,000

Title: Python Data Structures
Price: ₩1,500,000

Title: Python Basics
Price: Free

...

이 예제 코드는 특정 온라인 강의 플랫폼의 HTML 구조를 기반으로 작성되었습니다. 다른 플랫폼에 대해서는 해당 플랫폼의 HTML 구조를 분석하여 코드를 수정해야 합니다.

결론

Python을 사용하여 웹 스크래핑을 통해 온라인 강의 정보를 추출하는 방법에 대해 알아보았습니다. 웹 스크래핑은 온라인 강의 검색, 가격 비교, 추천 시스템 개발 등 다양한 용도로 활용될 수 있습니다. 하지만, 웹 스크래핑 시 해당 사이트의 이용 약관을 준수해야 하며, 스크래핑 대상 사이트의 로봇 배제 표준(Robots.txt)을 확인해야 합니다.