[python] Requests-HTML를 활용하여 웹 페이지의 동영상 다운로드하기

웹 페이지에서 동영상을 다운로드하는 것은 흔한 작업입니다. 이번에는 Python의 Requests-HTML 라이브러리를 사용하여 웹 페이지에서 동영상을 다운로드하는 방법에 대해 알아보겠습니다.

Requests-HTML이란?

Requests-HTML은 Python의 Requests 라이브러리를 기반으로 만들어진 HTML Parsing 라이브러리입니다. 이 라이브러리를 사용하면 Python으로 웹 페이지의 HTML 소스코드를 가져올 수 있습니다. 또한, 웹 페이지에서 동영상 등의 리소스를 가져오는 작업도 쉽게 수행할 수 있습니다.

설치하기

먼저, Requests-HTML을 설치해야 합니다. 아래의 명령을 실행하여 설치할 수 있습니다.

pip install requests-html

웹 페이지에서 동영상 URL 가져오기

동영상을 다운로드하기 위해서는 우선 해당 동영상의 URL을 알아야 합니다. Requests-HTML을 사용하여 웹 페이지의 동영상 URL을 가져오는 방법은 다음과 같습니다.

from requests_html import HTMLSession

# 웹 페이지의 URL
url = "https://example.com"

# HTMLSession 객체 생성
session = HTMLSession()

# 웹 페이지의 HTML 소스코드 가져오기
response = session.get(url)

# 웹 페이지에서 모든 동영상 태그 찾기
videos = response.html.find("video")

# 각 동영상 태그에서 동영상의 URL 가져오기
for video in videos:
    video_url = video.attrs["src"]
    print(video_url)

위의 코드에서 url 변수에는 웹 페이지의 URL을, response 변수에는 해당 웹 페이지의 HTML 소스코드를 가져옵니다. 그리고 video 태그를 찾아 각 태그에서 src 속성을 가져와 동영상의 URL을 출력합니다.

동영상 다운로드하기

이제 웹 페이지에서 동영상의 URL을 가져왔으므로, 이를 사용하여 동영상을 다운로드할 수 있습니다. Python의 urllib 모듈을 사용하여 다음과 같이 동영상을 다운로드할 수 있습니다.

import urllib.request

# 동영상 URL
video_url = "https://example.com/video.mp4"

# 다운로드할 파일 경로
save_path = "video.mp4"

# 동영상 다운로드
urllib.request.urlretrieve(video_url, save_path)

위의 코드에서 video_url 변수에는 동영상의 URL을, save_path 변수에는 다운로드할 동영상 파일의 경로를 지정합니다. 그리고 urllib.request.urlretrieve() 함수를 사용하여 동영상을 다운로드합니다.

마무리

이제 Requests-HTML을 사용하여 웹 페이지의 동영상을 다운로드하는 방법에 대해 알아보았습니다. 이를 참고하여 자신의 프로젝트에 적용해 보세요.

참고 자료