Data Analysis

유튜브 댓글 크롤링 프로그램

곽수진 2021. 9. 2. 15:54
반응형
import time
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import pandas as pd
import chromedriver_autoinstaller

url = 'https://www.youtube.com/watch?v=LlcaD2myXt0'
data=[]

chromedriver_autoinstaller.install()

with Chrome() as driver:
    wait = WebDriverWait(driver,3)
    driver.get(url)

    for _ in range(6): 
        wait.until(EC.visibility_of_element_located((By.TAG_NAME, "body"))).send_keys(Keys.PAGE_DOWN)
        time.sleep(2)

    for comment in wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, "#content-text"))):
        data.append(comment.text)

data_df=pd.DataFrame(data)
data_df.to_excel('오늘댓글.xlsx', index=False)

▶️ 크롬이 설치 되어 있어야 함

▶️ url = 'https://www.youtube.com/watch?v=LlcaD2myXt0' : 댓글을 크롤링하고 싶은 유튜브 주소 입력

▶️ data = [] : 데이터 리스트를 빈 공간으로 저장해둠

▶️ chromedriver_autoinstaller.install() : 크롬 드라이버 설치

▶️ webDriverWait(driver, 3) : 댓글을 긁어올 페이지가 완전히 로딩될 때까지 driver를 최대 3초 기다림

▶️ 2초에 한 번씩 페이지를 내려가는 과정을 6번 반복함

for _ in range(6): 
    wait.until(EC.visibility_of_element_located((By.TAG_NAME, "body"))).send_keys(Keys.PAGE_DOWN)
    time.sleep(2)

▶️ 유튜브 댓글들을 크롤링 하면서 모은 댓글들을 텍스트로 변경시켜 data 리스트에 추가함

"#content-text" : 텍스트화

for comment in wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, "#content-text"))):
    data.append(comment.text)

▶️ data_df.to_excel('오늘댓글.xlsx', index=False) : 위 과정을 통해 모은 데이터를 엑셀 파일('오늘 댓글')로 저장함

index = False : index 내용(댓글 단 사람들 이름)을 삭제

★ 댓글 단 사람들의 이름을 밝히고 싶으면 idnex = True로 바꿔주면 됨 ★ 

 

▶️ activate 사용자명 : anaconda prompt를 실행시켜 아나콘다를 활성화시킴

▶️ pip install chromedriver-autoinstaller : chromedriver를 설치

▶️ conda install openpyxl -y 입력 후 설치

 

 

▶️ done이 뜨면 설치 완료

 

 

▶️ cmd를 통해 위 코드가 작성되어 있는 파이썬 프로그램을 실행시킴

python s09_youtube_comment_selenium.py

 

 

자동으로 크롤링되는 모습

▶️ 프로그램이 실행되면서 자동으로 chrome이 켜져 미리 입력해둔 url을 크롤링하는 모습

⇒ chrome이 자동화된 텍스트 소프트웨어에 의해 제어되고 있음

 

 

▶️ 프로그램이 종료되면서 파이썬 프로그램이 속한 폴더에 엑셀 파일을 형성

 

 

엑셀 파일에 댓글 저장된 모습

▶️ 엑셀 파일에 저장된 댓글 모음

반응형

'Data Analysis' 카테고리의 다른 글

[ Python ] 모듈  (0) 2021.09.02
[ Python ] 클래스  (0) 2021.09.02
코인 투자 프로그램  (2) 2021.08.31
[ Python ] 기본값  (0) 2021.08.31
[ Python ] 함수  (0) 2021.08.31