제가 직접 경험해본 결과로는, G마켓에서 상품 데이터를 수집하는 방법에 대한 내용을 아래를 읽어보시면 자세히 알 수 있습니다. 이 글에서는 G마켓의 데이터 크롤링을 위한 파이썬 코드를 안내하면서, 실제 데이터를 어떻게 수집하고 활용할 수 있는지를 중점적으로 다룹니다.
G마켓 크롤링을 위한 기본 설정
G마켓의 데이터 수집을 위해서는, 먼저 필요한 라이브러리와 도구를 설치해주어야 합니다. 제가 판단하기로는, 크롤링 경험이 없다면 다음 단계가 유용할 것이라고 생각해요.
-
필요한 라이브러리 설치
-
Selenium: 웹 페이지를 자동으로 브라우징하기 위해 사용합니다.
- BeautifulSoup: HTML 소스를 파싱할 때 사용됩니다.
- Pandas: 수집한 데이터를 데이터프레임으로 변환하여 관리하는 데 유용합니다.
python
pip install selenium beautifulsoup4 pandas
위와 같이 설치한 후, 코드 작성에 들어갈 수 있습니다.
2. 웹 드라이버 설정
웹 드라이버는 실제 브라우저를 사용하여 정보를 가져오는 데 필요한 도구죠. 저는 Chrome을 사용하고 있습니다. 다음의 코드를 통해 드라이버의 옵션을 설정했어요.
“`python
from selenium import webdriver as wb
options = wb.ChromeOptions()
options.add_argument(‘disable-gpu’)
options.add_argument(‘window-size=1920×1080’)
options.add_argument(‘headless’)
“`
이렇게 기본적인 설정을 해주면, 브라우저가 보이지 않고도 자동으로 작동합니다.
G마켓 베스트셀러 페이지 접근하기
G마켓의 베스트셀러 페이지에 접근할 때는 URL을 통해 쉽게 방문할 수 있습니다. 아래의 코드를 보시면 제가 G마켓의 베스트셀러 페이지에서 데이터를 수집한 과정이 들어있어요.
1. 해당 페이지로 이동
python
url = "http://corners.gmarket.co.kr/Bestsellers"
driver = wb.Chrome(options=options)
driver.get(url)
코드를 작성하고 실행하면, 브라우저가 자동으로 URL에 접근하게 됩니다.
2. HTML 소스 파싱
페이지에 접근한 후에는, BeautifulSoup을 이용해 HTML 소스를 파싱하여 필요한 데이터를 수집할 수 있습니다.
python
html = bs(driver.page_source, 'lxml')
수집한 정보를 훨씬 간편하게 처리할 수 있게 됩니다.
상품명 및 가격 수집하기
이제 상품 정보, 즉 상품명과 가격을 수집하는 단계에 대해 다뤄볼게요.
1. 데이터 수집 로직
아래 코드처럼 CSS 선택자를 이용해 원하는 데이터를 선택할 수 있습니다.
python
pd_names = html.select('a.itemname')
pd_prices = html.select('div.s-price > strong > span > span')
이런 방식으로 HTML의 특정 요소를 선택하여 사용하면 됩니다.
2. 데이터프레임으로 변환
수집한 상품명과 가격을 데이터프레임으로 변환하면 보기 좋게 정리할 수 있습니다.
python
pd_dic = {
"상품이름": pd_name_list,
"상품가격": pd_price_list
}
product_df = pd.DataFrame(pd_dic)
이제 각 상품의 이름과 가격이 정리된 형태로 출력됩니다.
카테고리 별 상품 정보 수집하기
카테고리별 상품 데이터를 수집하는 것도 매우 유용하죠. 카테고리 버튼의 주소를 활용하여 페이지를 변경하며 데이터를 수집할 수 있습니다.
1. 카테고리 버튼 클릭
아래의 코드를 통해 카테고리 버튼을 클릭해 모든 카테고리의 주소를 추출합니다.
python
category = driver.find_elements(By.CSS_SELECTOR, value='ul#categoryTabG > :not(li:first-child) > a')
href_list = [cate.get_attribute('href') for cate in category]
각 카테고리의 URL을 리스트에 저장합니다.
2. URL을 통한 정보 수집
이 URL들을 통해 각각의 카테고리로 이동한 후, 정보를 수집할 수 있습니다. 다음의 코드를 보시면 어떻게 작동하는지 알 수 있어요.
python
for url in href_list:
driver.get(url)
html = bs(driver.page_source, 'lxml')
pd_names = html.select('a.itemname', limit=10)
pd_prices = html.select('div.s-price > strong > span > span', limit=10)
이렇게 각 카테고리에 대한 상품 정보를 수집할 수 있어요.
G마켓 상품 수집을 마치며
G마켓에서 상품 데이터를 수집하는 과정은 생각보다 간단하다는 것을 느꼈어요. 중요한 것은 각 단계를 잘 이해하고 따라하는 것이랍니다.
자주 묻는 질문 (FAQ)
G마켓 크롤링이란 무엇인가요?
G마켓 크롤링은 G마켓 웹사이트에서 상품 정보를 자동으로 수집하는 과정을 말합니다.
컬렉션의 파이썬 라이브러리에는 어떤 것이 있나요?
주로 Selenium, BeautifulSoup, Pandas와 같은 파이썬 라이브러리를 사용합니다.
웹 크롤링 시 주의사항은 무엇인가요?
웹사이트의 로봇 배제 표준(Robots.txt)을 준수하거나, 너무 자주 요청하지 않도록 주의해야 합니다.
G마켓 상품 데이터를 실제로 어떤 용도로 활용할 수 있나요?
데이터 분석, 가격 비교, 마케팅 전략 수립 등에 활용될 수 있습니다.
하나하나 직접 실습해보며 가다듬는 과정은 꼭 필요해요. 코딩에 대한 경험이 적더라도, 차근차근 따라하면 분명히 할 수 있어요.
키워드: G마켓, 데이터 수집, 크롤링, 파이썬, 웹 스크래핑, BeautifulSoup, Selenium, 머신러닝, 데이터 분석, Pandas, 웹 개발