Python/Crawling

[Crawling] 유튜브 크롤링(제목 조회수 가져오기)

퓨어맨 2022. 5. 30. 09:02
url = 'https://www.youtube.com/'
driver = wb.Chrome()
driver.get(url)

# 스크롤 제어
body = driver.find_element_by_css_selector('body')

# 스크롤바 10번 내리기
for i in range(10):
    body.send_keys(Keys.PAGE_DOWN)
    time.sleep(0.1)

soup = bs(driver.page_source, 'lxml')

# 제목 데이터 가져오기
title = soup.select('a#video-title')
# 조회수 데이터 가져오기
view = soup.select('span.ytd-grid-video-renderer:nth-child(1)')


title_list = []
view_list = []
rank_list = []

# 리스트 안에 데이터값 집어넣기
for i in range(len(title)):
    title_list.append(title[i].text.strip())
    view_list.append(view[i].text.strip())
    rank_list.append(i+1)

dic = {'제목' : title_list, '조회수' : view_list, '번호' : rank_list}

df = pd.DataFrame(dic)
df.set_index('번호', inplace = True)

 

dic 결과

 

df 결과