[파이썬] 웹 스크래핑과 레스토랑 리뷰 추출

웹 스크래핑은 웹 페이지에서 데이터를 추출하는 기술로, Python과 같은 프로그래밍 언어를 사용하여 웹 사이트의 내용을 자동으로 수집할 수 있습니다. 이번 블로그 포스트에서는 웹 스크래핑을 사용하여 레스토랑 리뷰를 추출하는 방법을 알아보겠습니다.

BeautifulSoup 라이브러리 소개

Python에서는 웹 스크래핑을 위해 다양한 라이브러리들을 제공합니다. 그 중에서도 BeautifulSoup 라이브러리가 널리 사용되며, HTML 또는 XML 문서를 파싱하고 데이터를 추출하기에 매우 편리한 도구입니다.

먼저 BeautifulSoup을 설치해야 합니다. 아래 명령어를 사용하여 설치할 수 있습니다:

pip install beautifulsoup4

웹 스크래핑을 통한 레스토랑 리뷰 추출 예제

이제 간단한 예제를 통해 웹 스크래핑을 사용하여 레스토랑 리뷰를 추출해보겠습니다. 예제로는 Yelp 웹사이트에서 식당 리뷰를 추출하는 작업을 수행해보겠습니다.

import requests
from bs4 import BeautifulSoup

# Yelp 웹사이트에서 식당 리뷰 추출하기
def extract_restaurant_reviews(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')

    restaurant_name = soup.find('h1').get_text()
    reviews = soup.find_all('p', class_='review-content')

    print(f"Restaurant Name: {restaurant_name}")
    print("Reviews: ")
    for review in reviews:
        print(review.get_text())

위 코드에서는 requests 라이브러리를 사용하여 웹페이지의 내용을 가져옵니다. 그리고 BeautifulSoup을 사용하여 HTML 문서를 파싱하고 필요한 데이터를 추출합니다. 이 예제에서는 식당의 이름과 리뷰들을 추출하여 출력합니다.

실행 예제

이제 위에서 작성한 extract_restaurant_reviews 함수를 사용하여 웹 스크래핑을 수행하는 예제를 살펴보겠습니다.

url = "https://www.yelp.com/biz/katzs-delicatessen-new-york"
extract_restaurant_reviews(url)

위 예제에서는 Yelp의 Katz’s Delicatessen 식당 페이지에서 리뷰를 추출합니다. 원하는 식당 페이지의 URL을 사용하여 extract_restaurant_reviews 함수를 호출하면 해당 식당의 이름과 리뷰들이 출력됩니다.

결론

이번 블로그 포스트에서는 Python을 사용하여 웹 스크래핑과 레스토랑 리뷰 추출에 대해 알아보았습니다. BeautifulSoup 라이브러리를 사용하여 HTML 문서를 파싱하고 원하는 데이터를 추출할 수 있습니다. 웹 스크래핑은 다양한 분야에서 유용하게 사용되며, 데이터 분석, 기계 학습 등에 응용할 수 있습니다.