AI/Machine Learning&Deep Learning

[CodeReview] 웹크롤링/유틸스 코드리뷰

dalgorithm 2021. 9. 24. 14:03
728x90

기존 유사 프로젝트에 대한 코드리뷰를 계속해서 진행하고 있다.

 

출처 : https://github.com/LEEMINJOO/Beeeep--/blob/master/utils.py

 

GitHub - LEEMINJOO/Beeeep--: 유튜브 비속어 음성 자동 필터링 - 제 9회 투빅스 컨퍼런스

유튜브 비속어 음성 자동 필터링 - 제 9회 투빅스 컨퍼런스. Contribute to LEEMINJOO/Beeeep-- development by creating an account on GitHub.

github.com

[utils.py]

from pytube import YouTube, Playlist

파이튜브 라이브러리를 통해 유튜브와 플레이리스트의 영상 및 음성을 저장한다.

 

def make_dir(dir_): 해당 운영체제에 올바른 디렉토리가 없을 경우, 디렉토를 새로 생성한다.
save_playlist_links(playlist_urls, links_dir): 메인 링크는 유튜브로 설정하고, 플레이리스트의 링크를 계속해서 추가한다.
그 후, 링크 변수를 데이터프레임화 한 후, csv 형태로 만든다.
def link_to_video(link, video_dir): 유튜브 링크와 동영상 파일의 확장자를 연결 짓는다.
def save_videos(df, links_videos_dir): 영상에 대한 링크를 파일 확장자에 맞춰 열고, 디렉토리에 영상을 저장한다.
def save_text(download_path, video): 다운로드에 있는 파일을 경로변경 및 해당 파일의 경로 return
def change_dir(from_dir, before='video',
after='audio'):
전 동영상, 후 음성으로 디렉토리를 변경한다.
def clip_audio(audio_dir): 오디오, 텍스트, 길이를 데이터프레임 값으로 지정하고, 그 중 칼럼 값은
텍스트와 시간으로 한다. 시간에 맞춰 오디오의 클립을 분류한다.

[crawling.py]

Voyagerx 를 통한 자막 추출

환경 :

1) 윈도우 + python 3.7.x

2) 현재 디렉토리에 Chrome_webdriver 존재

3) 현재 디렉토리 중 하위 폴더 (movie)에 동영상 파일만 존재

4) 다운로드는 디폴트로 설정된 곳으로 바로 다운로드 됨

def crawling(df, chrome_dir, links_videos_texts_dir): Voyagerx 를 통한 자막 추출을 하고 크롭웹드라이버를 사용한다.
for idx, row in df.iterrows(): 크롤링 루프 / 파일을 업로드 실행하여 영상을 추출해낸다.

 

728x90