상품 가격 분석 및 최적화 과정

Nobu90·2023년 7월 31일
0

2023/e-commerce

목록 보기
1/1

Day1

PDF 파일(별도 보관)

https://wikidocs.net/book/1

  1. https://www.anaconda.com/ 설치
  2. 윈도우 [시작]->anaconda prompt 실행(관리자모드)
  3. c:>cd [본인 working folder]
    • 주의 : 드라이브가 다를경우 ex) d: 으로 이동
  4. c:\project> jupyter notebook

파이썬 기초

Day2

주피터 노트북
Pandas
seaborn
데이터프레임

Day3

웹 크롤링
beautifulsoup
selenium 등

Day4

과제

다나와 무선청소기 가격 비교하기

import time
import pandas as pd

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service

from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

service = Service()
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(service=service, options=options)
url = "https://www.danawa.com/"
driver.get(url)

driver.find_element(By.CLASS_NAME, "search__input").send_keys("무선청소기")
time.sleep(1)
driver.find_element(By.CLASS_NAME, "search__input").send_keys(Keys.ENTER)
time.sleep(1)

prd_name = []
prd_price = []
prd_url = []
count = 0

productList = driver.find_element(By.CLASS_NAME, "main_prodlist_list")

lis= productList.find_elements(By.TAG_NAME, 'li')

for idx, li in enumerate(lis):
    try:
        prd_name.append(li.find_element(By.CLASS_NAME, "click_log_product_standard_title_").text)
        prd_price.append(li.find_element(By.CLASS_NAME, "click_log_product_standard_price_").text)
        prd_url.append(li.find_element(By.CLASS_NAME,"click_log_product_standard_title_").get_attribute("href"))
        count += 1            
        
    except Exception:
        pass

final = pd.DataFrame({'이름': prd_name, '가격': prd_price, 'URL': prd_url})
final.to_csv('무선청소기_cp949.csv', encoding='cp949')
print(count)
driver.close()

0개의 댓글