안녕하세요. 루크입니다.
이번 시간에는 코랩을 바탕으로 코드를 작성하였습니다.
코랩은 한 번 실행 할 때 마다, 패키지와 모듈을 다시 설치해야하는 단점이 있지만, 온라인 상에서 특별한 프로그램 설치없이, 간단하게 코드를 저장 및 공유가 가능하다는 큰 장점이 있습니다~!
자세한 설명은 유튜브를 참고 부탁드리겠습니다 ㅎ
첫 번째 - 패키지 모듈 설치 코드
# install chromium, its driver, and selenium
!apt install chromium-chromedriver
!pip install selenium
두 번째 - 쇼피 로그인 코드
from bs4 import BeautifulSoup
import requests
import pandas as pd
import os
import time
import openpyxl
import datetime
# set options to be headless, ..
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
# open it, go to a website, and get results
driver = webdriver.Chrome('chromedriver',options=options)
#url
url = 'https://seller.shopee.sg/account/signin'
driver.get(url)
time.sleep(1.5)
# 아이디/비밀번호를 입력해준다.
driver.find_element_by_xpath('//*[@id="shop-login"]/div[1]/div/div/div/div/input').send_keys('아이디')
driver.find_element_by_xpath('//*[@id="shop-login"]/div[2]/div/div/div/div/input').send_keys('비밀번호')
driver.implicitly_wait(3)
# stay signed in 체크박스 채우기(클릭)
driver.find_element_by_xpath('//*[@id="shop-login"]/div[4]/div/div/button').click()
time.sleep(1)
driver.implicitly_wait(5)
print("로그인 완료")
세 번째 - 쇼피에서 검색수, 상품수 긁어오기
i = 0
while True:
try:
time_delay = 3
time_delay2 = 5
print('검색해주세요. 종료 시 "종료" ')
keyword = input('입력 : ')
if keyword == "종료":
print("종료")
break
else:
#-----------------------------------------------------------------
# 밑에 주소를 바꾸어주세요.
url = f'입력해주세요'
driver.get(url)
time.sleep(time_delay)
sg_keywords = driver.find_element_by_css_selector('body > pre').text.split('{')[2].split(',')
print(sg_keywords[3])
url2 = f'https://shopee.sg/search?keyword={keyword}'
driver.get(url2)
time.sleep(time_delay)
driver.implicitly_wait(time_delay2)
html = driver.page_source
soup = BeautifulSoup(html, 'html.parser')
sg_view = sg_keywords[3][16:]
sg_page = soup.select_one("div.shopee-mini-page-controller > div > span.shopee-mini-page-controller__total").text
sg_item = int(sg_page)*50
print("SG 상품수 : " + str(sg_item))
sg_ranking = round(sg_item/int(sg_view),2)
print("SG 경쟁강도 : " + str(sg_ranking) )
if i == 0:
total = [keyword, int(sg_view),sg_item,sg_ranking]
total_pd = pd.DataFrame(total).transpose()
total_pd.columns = ['검색', 'sg 검색량','sg 상품수', 'sg경쟁강도']
display(total_pd)
i = i+1
else:
total = [keyword, int(sg_view),sg_item,sg_ranking]
total_pd.loc[i] = total
display(total_pd)
i = i+1
except:
pass
'부업 - 디지털 노마드 > 온라인 쇼핑몰 (쇼피,네이버 등)' 카테고리의 다른 글
텔레그램 챗봇으로 리셀러 구매처 관리하기& 신입사원 업무 용어 관리하기 (1) | 2020.12.26 |
---|---|
[쇼피] 국가별 주소 샘플 - 애플 사용자분들 앱스토어 국가 변경할 때 참고하세요! (0) | 2020.10.29 |
이 시국 데이트 하기도 어려운데 같이 부업이나 해볼까요? - 우리계발커플 같이 무자본 창업했습니다! (0) | 2020.09.23 |
최근댓글