python youtube 관련 검색어 수집하기
# https://www.youtube.com/watch?v=E1MrXM2quWY
# [파이썬자동화]관련 검색어 수집하기|영상 올릴 때, 아무 태그나 막 집어넣는 사람들 꼭 보세요!
# 파이썬 클래스
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup as bs
from openpyxl import Workbook
import time
import random
path = "c:/python/webdriver/chromedriver/chromedriver.exe"
driver = webdriver.Chrome(path)
driver.get('https://www.youtube.com/')
keyword=['가을','네일아트']
chr_array=['ㄱ','ㄴ','ㄷ','ㄹ','ㅁ','ㅂ','ㅅ', \
'ㅇ','ㅈ','ㅊ','ㅋ','ㅌ','ㅍ','ㅎ']
search = driver.find_element_by_name("search_query")
# search=driver.find_element_by_xpath('//*[@id="search"]')
wb=Workbook()
wb.remove(wb['Sheet'])
for sheet in keyword:
ws=wb.create_sheet(sheet)
column=1
search.send_keys(sheet + ' ?')
for n in chr_array:
row=1
n_len=len(n)
ws.cell(row, column, n)
search.send_keys(Keys.BACK_SPACE) # 기존의 ? 한글자를 삭제하고
search.send_keys(n)
time.sleep(2) # time.sleep( random.uniform(2,4) ) # 2~4초 랜덤한 시간
# search.send_keys(Keys.ARROW_DOWN)
# time.sleep(2) # time.sleep( random.uniform(2,4) ) # 2~4초 랜덤한 시간
# search.send_keys(Keys.BACK_SPACE) # 기존의 글자뒤 공백을 삭제하고
# html=driver.page_source
# soup=bs(html,'html.parser')
# print(soup)
html=driver.find_element_by_xpath('//*').get_attribute('outerHTML') # element.get_attribute('innerHTML')
soup=bs(html,'html.parser')
res=soup.find_all('div', class_='sbqs_c')
for i in res:
row +=1
# print(i)
ws.cell(row, column, i.contents[1].contents[0])
column +=1
# for l in range(n_len-1):
# search.send_keys(Keys.DELETE) #글자 수 만큼 지우기
# search.send_keys(Keys.DELETE) #한글자 만큼 지우기
search.send_keys(Keys.CONTROL + 'a')
time.sleep(1)
search.send_keys(Keys.DELETE)
time.sleep(1)
wb.save('test.xlsx')
driver.close()