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

웹 스크래핑은 인터넷 상의 웹 페이지를 자동으로 탐색하고 필요한 정보를 수집하는 과정을 의미합니다. 이러한 웹 스크래핑 기술은 온라인 쇼핑 정보를 추출하는 데에도 사용될 수 있습니다. 이번 블로그 포스트에서는 파이썬을 사용하여 온라인 쇼핑 사이트에서 원하는 정보를 추출하는 방법에 대해 알아보겠습니다.

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

웹 스크래핑을 위해서는 BeautifulSouprequests 라이브러리를 설치해야 합니다. 다음 명령어를 사용하여 두 라이브러리를 설치할 수 있습니다.

pip install beautifulsoup4
pip install requests

웹페이지에서 HTML 데이터 가져오기

먼저, 웹 스크래핑을 위해 필요한 웹페이지의 HTML 데이터를 가져와야 합니다. 이를 위해 requests 라이브러리를 사용할 수 있습니다. 예를 들어, 아마존의 카테고리 페이지의 HTML 데이터를 가져와보겠습니다.

import requests

url = "https://www.amazon.com/gp/bestsellers/books/"

response = requests.get(url)
html_data = response.text
print(html_data)

위의 예제에서는 requests 라이브러리의 get 메서드를 사용하여 웹페이지의 HTML 데이터를 가져오고, text 속성을 통해 HTML 데이터를 문자열로 변환하고 출력합니다.

원하는 정보 추출하기

웹페이지의 HTML 데이터를 가져왔다면, 이제 BeautifulSoup 라이브러리를 사용하여 원하는 정보를 추출할 수 있습니다. 예를 들어, 아마존의 카테고리 페이지에서 제목과 가격 정보를 추출하는 코드를 작성해보겠습니다.

from bs4 import BeautifulSoup

soup = BeautifulSoup(html_data, 'html.parser')

# 제목 추출
titles = soup.find_all('span', {'class': 'title'})
for title in titles:
    print(title.text)

# 가격 추출
prices = soup.find_all('span', {'class': 'price'})
for price in prices:
    print(price.text)

위의 예제에서는 BeautifulSoup 라이브러리의 find_all 메서드를 사용하여 특정 HTML 태그와 속성으로 원하는 정보를 추출합니다. find_all 메서드의 첫 번째 인자는 추출하려는 태그를 지정하고, 두 번째 인자는 해당 태그에 해당하는 속성을 지정합니다. 추출한 정보는 반복문을 사용하여 출력할 수 있습니다.

데이터 저장하기

추출한 정보를 파일에 저장하거나, 데이터베이스에 저장할 수 있습니다. 예를 들어, 추출한 제목과 가격 정보를 CSV 파일에 저장하는 코드는 다음과 같습니다.

import csv

with open('scraped_data.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(['제목', '가격'])

    for title, price in zip(titles, prices):
        writer.writerow([title.text, price.text])

위의 예제에서는 csv 라이브러리를 사용하여 CSV 파일을 생성하고, writer 객체를 통해 데이터를 CSV 파일에 작성합니다. 각 제목과 가격은 zip 함수를 사용하여 묶은 뒤, 반복문을 통해 CSV 파일에 작성하게 됩니다.

결론

이제 파이썬을 사용하여 웹 스크래핑해 온라인 쇼핑 사이트에서 원하는 정보를 추출하는 방법을 알게 되었습니다. BeautifulSouprequests 라이브러리를 사용하면 쉽게 웹페이지의 HTML 데이터를 가져오고, 원하는 정보를 추출할 수 있습니다. 이러한 웹 스크래핑 기술을 활용하여 온라인 쇼핑 사이트의 정보를 자동으로 추출하고 분석하는 등 다양한 활용이 가능합니다.