[파이썬]네이버 데이터랩 추출 및 엑셀 파일 저장(xlsx)# Script/Python2022. 10. 11. 07:42
Table of Contents
728x90
반응형
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.action_chains import ActionChains
import chromedriver_autoinstaller
import os
import requests
import warnings
import shutil
import subprocess
import time
warnings.filterwarnings('ignore')
try:
shutil.rmtree(r"c:\chrometemp") # 쿠키 / 캐쉬파일 삭제
except FileNotFoundError:
pass
subprocess.Popen(
r'C:\Program Files\Google\Chrome\Application\chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\chrometemp"') # 디버거 크롬 구동
option = Options()
option.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
chrome_ver = chromedriver_autoinstaller.get_chrome_version().split('.')[0]
try:
driver = webdriver.Chrome(f'./{chrome_ver}/chromedriver.exe', options=option)
except:
chromedriver_autoinstaller.install(True)
driver = webdriver.Chrome(f'./{chrome_ver}/chromedriver.exe', options=option)
driver.maximize_window() # 최대창
time.sleep(3)
driver.implicitly_wait(10)
action = ActionChains(driver) # 액션지정
#################### 네이버 데이터랩 Top 500 키워드 뽑기 ####################
# 기기별 전체: //*[@id="18_device_0"]
# 성별 전체: //*[@id="19_gender_0"]
# 연령 전체: //*[@id="20_age_0"]
# 조회하기 클릭: //*[@id="content"]/div[2]/div/div[1]/div/a
driver.get(url='https://datalab.naver.com/shoppingInsight/sCategory.naver')
time.sleep(1)
#driver.find_element(By.XPATH, '//*[@id="18_device_0"]').click() # 기기별 클릭
driver.find_element_by_xpath('//*[@id="18_device_0"]').click()
# time.sleep(0.5)
#driver.find_element(By.XPATH, '//*[@id="19_gender_0"]').click() # 성별 클릭
# time.sleep(0.5)
#driver.find_element(By.XPATH, '//*[@id="20_age_0"]').click() # 연령별 클릭
# time.sleep(0.5)
driver.find_element_by_xpath('//*[@id="content"]/div[2]/div/div[1]/div/div/div[1]/div/div[1]/span').click() # 분야 클릭
# time.sleep(0.5)
driver.find_element_by_xpath('//*[@id="content"]/div[2]/div/div[1]/div/div/div[1]/div/div[1]/ul/li[4]/a').click() # 디지털/가전 클릭
# time.sleep(0.5)
driver.find_element_by_xpath('//*[@id="content"]/div[2]/div/div[1]/div/a').click() # 조회하기 클릭
# time.sleep(1)
# 상품정보1 : //*[@id="content"]/div[2]/div/div[2]/div[2]/div/div/div[1]/ul/li[1]/a
# 상품정보2 : //*[@id="content"]/div[2]/div/div[2]/div[2]/div/div/div[1]/ul/li[2]/a
# 상품정보3 : //*[@id="content"]/div[2]/div/div[2]/div[2]/div/div/div[1]/ul/li[3]/a
from openpyxl import Workbook
wb = Workbook()
ws = wb.create_sheet('keyword')
wb.remove_sheet(wb['Sheet'])
ws.append((['No', '인기검색어']))
for i in range(0, 25):
for j in range(1, 21):
path = f'//*[@id="content"]/div[2]/div/div[2]/div[2]/div/div/div[1]/ul/li[{j}]/a'
result = driver.find_element_by_xpath(path).text
print(result.split('\n'))
time.sleep(0.1)
ws.append(result.split('\n'))
driver.find_element_by_xpath('//*[@id="content"]/div[2]/div/div[2]/div[2]/div/div/div[2]/div/a[2]').click()
time.sleep(0.1)
wb.save('./naverdatalabtop500.xlsx')
wb.close()
driver.close()
driver.quit()
print("네이버 데이터랩 Top 500 키워드 뽑기 완료")
time.sleep(3)
728x90
반응형
'# Script > Python' 카테고리의 다른 글
[파이썬]워드프레스 자동포스팅 (0) | 2022.10.13 |
---|---|
[파이썬]페이지 로딩될 때 까지 기다리게 하는 방법 (0) | 2022.10.12 |
[파이썬]셀레니움 크롬 드라이버 자동 설치 for windows (0) | 2022.10.10 |
[파이썬]bluetooth_adapter_winrt.cc:1074 Getting Default Adapter failed error (0) | 2021.05.19 |
[파이썬]셀레니움을 이용한 특정부분만 하이라이트 적용 (0) | 2021.05.07 |
@다크쉐라빔 :: 다크쉐라빔의 주절주절
안녕하세요. 이곳은 IT위주의 잡다한 정보를 올려두는 개인 블로그입니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!