
이커머스 분야에서 사용하는 데이터를 수집하는 방법와 전처리하는 방법에 대해 알아봅니다.
<aside>
</aside>


정의: 특정 서비스나 플랫폼에서 제공하는 프로그래밍 인터페이스를 통해 데이터에 접근하는 방식입니다.
예시: Amazon, eBay, Shopify 등에서 제공하는 API key를 통해 데이터에 접근하여 사용합니다.
장점: 구조화된 데이터 제공, 비교적 쉬운 접근.
import requests
api_url = '<https://api-gateway.coupang.com/v2/providers/affiliate_open_api/apis/openapi/v1/products>'
params = {
'keyword': '식품',
'limit': 10
}
headers = {
'Authorization': 'YOUR_API_KEY'
}
response = requests.get(api_url, headers=headers, params=params)
data = response.json()
for product in data['data']:
print(product['productName'], product['price'])
Product Name 1, 10000 Product Name 2, 20000 Product Name 3, 15000 Product Name 4, 5000 Product Name 5, 25000 Product Name 6, 12000 Product Name 7, 30000 Product Name 8, 4500 Product Name 9, 7000 Product Name 10, 18000
정의: 웹사이트의 데이터를 크롤링이라는 자동화된 방법으로 수집하는 방법입니다.
도구 및 라이브러리: BeautifulSoup, Requests, Scrapy, Selenium 등을 사용합니다.
과정: 웹 페이지의 HTML 구조 및 태그를 파악하여 필요한 데이터를 추출하는 방식을 사용합니다.
import requests
from bs4 import BeautifulSoup
url = '[<https://www.coupang.com/np/search?component=&q=>](<https://www.coupang.com/np/search?component=&q=%EB%85%B8%ED%8A%B8%EB%B6%81>)라면'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
products = soup.find_all('div', class_='name')
for product in products:
print(product.get_text())
import re
from collections import defaultdict
# 로그 파일의 경로
log_file_path = 'path/to/your/logfile.log'
# 로그 항목을 저장할 딕셔너리
log_data = defaultdict(lambda: {'page_view': 0, 'click': 0, 'purchase': 0})
# 로그 파일에서 로그 항목을 분석하는 정규 표현식
log_pattern = re.compile(
r'(?P<ip>\S+) \S+ \S+ \[(?P<datetime>[^\]]+)\] "(?P<method>\S+) (?P<url>\S+) \S+" \d+ \d+ "(?P<referrer>[^"]+)" "(?P<user_agent>[^"]+)"'
)
# 로그 파일을 읽고 분석
with open(log_file_path, 'r') as file:
for line in file:
match = log_pattern.match(line)
if match:
log_entry = match.groupdict()
url = log_entry['url']
# URL을 기반으로 페이지 뷰, 클릭, 구매 활동을 집계
if 'page_view' in url:
log_data[url]['page_view'] += 1
elif 'click' in url:
log_data[url]['click'] += 1
elif 'purchase' in url:
log_data[url]['purchase'] += 1
# 결과 출력
for url, counts in log_data.items():
print(f"URL: {url}")
print(f" Page Views: {counts['page_view']}")
print(f" Clicks: {counts['click']}")
print(f" Purchases: {counts['purchase']}")
print()
Google Analytics:

웹사이트 방문자 수, 페이지 뷰, 전환율 등의 데이터를 수집합니다.
Amplitude:

모바일/웹 사용자들을 분석하는 분석 도구입니다.
Mix panel:

서비스에서 사용자가 어떻게 행동하는지 분석해주는, 사용자 행동기반의 제품 데이터 분석 툴입니다.
JSON 형태
[
{
"user_id": "user123",
"timestamp": "2024-07-24T12:34:56",
"action": "visit",
"page": "homepage"
},
{
"user_id": "user456",
"timestamp": "2024-07-24T12:35:00",
"action": "click",
"page": "product_page",
"product_id": "prod789"
},
{
"user_id": "user123",
"timestamp": "2024-07-24T12:36:10",
"action": "search",
"query": "laptop"
}
]
TABLE 형태
| --- | --- | --- | --- | --- | --- |
datarichard© All Rights Reserved.