웹 스크래핑은 웹 페이지에서 데이터를 추출하는 기술로, 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 문서를 파싱하고 원하는 데이터를 추출할 수 있습니다. 웹 스크래핑은 다양한 분야에서 유용하게 사용되며, 데이터 분석, 기계 학습 등에 응용할 수 있습니다.