ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 유튜브 댓글 크롤링
    ML, DL & Python/Youtube 크롤링 & 분석 2019. 5. 5. 16:26

    안녕하세요 저번 유튜버의 영상 정보 크롤링에 이어서 이번엔 한개의 영상을 정해서 댓글을 크롤링 해보도록 하겠습니다.

     

    영상의 댓글을 크롤링하기 위해서 저번 포스팅에서 수집한 영상url을 사용해보겠습니다.

     

    저번 포스팅에서는 설명하지 않았지만 영상별로 url을 수집했는데요 이번 포스팅의 시작은 이것으로 시작하겠습니다.

     

    1. 영상들을 스크롤 했던 것은 기억하시죠? 스크롤한 뒤에 page source로 변환하여 url을 수집했습니다.

    html0 = browser.page_source
    html = BeautifulSoup(html0,'html.parser')
    video_list0 = html.find('div',{'id':'items'})
    video_list2 = video_list0.find_all('ytd-grid-video-renderer',{'class':'style-scope ytd-grid-renderer'})

     

    1-2. 이렇게 영상별로 url을 뽑기 위해 page source를 수집한 뒤에 데이터를 추출합니다.

    base_url = 'http://www.youtube.com' #영상별url이 유튜브 기본 url을 포함하지 않기 때문에 꼭 확인해줘야 함
    isabe_url = []
    for i in range(len(video_list2)):
        url = base_url+video_list2[i].find('a',{'id':'thumbnail'})['href']
        isabe_url.append(url)

     

    1-3. 이번 포스팅에서는 영상들 중에 한개의 영상의 댓글을 수집해 보겠습니다.

    start_url = isabe_url[0] #리스트로 만들어져 있는 url중 한개의 url을 이용
    
    browser.get(start_url) 
    body = browser.find_element_by_tag_name('body')
    #웹드라이버로 url접속한 뒤 스크롤 내리기 위한 소스를 받아오는 것

     

    1-4. 유튜브 댓글을 인기순/작성순을 선택할 수 있으므로 인기순을 선택하여 댓글을 수집한다.

    #인기순/작성순 선택할 수 있는 영역 클릭
    browser.find_element_by_xpath('//paper-button[@class="dropdown-trigger style-scope yt-dropdown-menu"]').click()
    #인기순 카테고리 클릭
    browser.find_element_by_xpath('//paper-listbox[@class="dropdown-content style-scope yt-dropdown-menu"]/a[1]').click()

     

    1-5. 저번 포스팅의 영상들과 마찬가지로 댓글들도 스크롤링을 실행해야 모든 댓글을 확인할 수 있다.

    num_page_down = 20
    while num_page_down:
        body.send_keys(Keys.PAGE_DOWN)
        time.sleep(1.5)
        num_page_down -= 1

     

    2. 댓글을 수집하기 위한 준비 끝! 이제는 댓글을 수집해보자

    크롤러 깃허브확인 

    https://github.com/minyong-shin/Bloging/tree/master/

    수집한 댓글 data

     

    본 포스팅에서는 유튜브 영상의 댓글을 수집해보았습니다.

    제가 댓글을 수집한 이유는 댓글을 이용하여 Text mining을 하기 위해서 입니다. 다음 포스팅에서는 댓글을 이용한 여러 text mining을 진행해보도록 하겠습니다.

     


    'ML, DL & Python > Youtube 크롤링 & 분석' 카테고리의 다른 글

    유튜버 분석  (14) 2019.05.25
    youtube text mining3  (0) 2019.05.11
    youtube text mining 2  (0) 2019.05.08
    youtube text mining 1  (4) 2019.05.06
    유튜브 크롤링  (56) 2019.05.04

    댓글

Designed by Tistory.