파이썬(Python)

[ 크롤링-Selenium ] 파이썬 유튜브 크롤링 결과 엑셀파일 저장하기

카루루1007 2022. 10. 20. 23:45
728x90
반응형
SMALL
◆ 준비사항 : openpyxl

파이썬으로 엑셀을 다루기위해 openpyxl을 설치해 줍니다.

콘솔창에

pip install openpyxl

을 입력하고 설치합니다.

 

그리고 openpyxl을 import 해줍니다.

from openpyxl import Workbook

 

◆ 엑셀파일 만들고 크롤링 결과 저장하기

먼저 Workbook() 객체를 생성합니다.

wb = WorkBook()

그리고 현재 워크북에서 활성화 된 시트를 선택합니다.

엑셀파일이 처음 만들어 졌으니 첫번째 시트가 선택될겁니다.

ws = wb.active

선택된 시트의 이름을 YouTube로 바꾸어 보겠습니다.

굳이 바꾸지 않더라도 실행하는 데에는 문제가 없습니다.

ws.title = "YouTube"

그리고 맨 위에 구분하기 제목을 써줍니다.

ws.append(['title', 'link'])

 

아래는 지난번에 유튜브 제목과 URL 크롤링하기에서 다루었던 소스코드입니다.

titles = driver.find_elements(By.CSS_SELECTOR, "#dismissible")
for title in titles: 
    main_title = title.find_element(By.CSS_SELECTOR, "#video-title").get_property("title")
    tube_url = title.find_element(By.CSS_SELECTOR, "#video-title").get_property("href")
   
    print(main_title, " ", tube_url)

 

지금까지 작성했던 코드는 위 코드의 윗부분에 작성을 해주세요

wb = Workbook()
ws = wb.active
ws.title = "YouTube"
ws.append(['title', 'link'])

titles = driver.find_elements(By.CSS_SELECTOR, "#dismissible")

for title in titles:    
    main_title = title.find_element(By.CSS_SELECTOR, "#video-title").get_property("title")
    tube_url = title.find_element(By.CSS_SELECTOR, "#video-title").get_property("href")
   
    print(main_title, " ", tube_url)

 

그리고 print(main_title, " ", tube_url) 아래에 다음 코드를 추가합니다.

    ws.append([main_title, tube_url])

 

반응형

마지막으로 파일을 저장하고 닫아줍니다.

wb.save('c:\경로\YouTube.xls.')

wb.close()

다음은 전체 소스코드입니다.

wb = Workbook()
ws = wb.active
ws.title = "YouTube"
ws.append(['title', 'link'])

titles = driver.find_elements(By.CSS_SELECTOR, "#dismissible")

for title in titles:    
    main_title = title.find_element(By.CSS_SELECTOR, "#video-title").get_property("title")
    tube_url = title.find_element(By.CSS_SELECTOR, "#video-title").get_property("href")
   
    print(main_title, " ", tube_url)
    ws.append([main_title, tube_url])

wb.save('c:\경로\YouTube.xls.')
wb.close()

 

◆ 결과물

제가 지정한 경로에 엑셀파일이 만들어 졌습니다

크롤링한 결과도 정상적으로 저장이 되었으며,

시트 이름도 정상적으로 바뀌었습니다.

웹페이지 자동스크롤하기에서 포스팅했던 글을 참고하시면

방대한 양의 유튜브 제목과 URL의 크롤링도 가능합니다.

 

728x90
반응형
LIST