HTTP API 요청을 통한 데이터셋 다운로드

Ann Jongmin·2025년 8월 11일
0

Data Processing

목록 보기
8/9


URL이나 라이브러리를 통해 데이터셋을 불러올 수 있는 방법에 대해 정리하였다.

예를 들어, Hugging face에서는 다양한 데이터셋을 API로 제공하고 있다. 모델 학습을 위해 데이터를 가져오려면 아래 방법들을 사용해 데이터셋을 먼저 다운받은 후 진행하면 된다.

  1. Python의 requests 라이브러리 사용
  • 가장 많이 흔하게 사용된다.
  • requests 라이브러리는 HTTP 요청을 보내는 것을 매우 간편하게 사용할 수 있다.
import requests

url = "https://datasets-server.huggingface.co/datasets/imdb/plain_text_train.csv"
filename = "imdb_train.csv"

try:
    response = requests.get(url)

    response.raise_for_status()

    with open(filename, 'wb') as f:
        f.write(response.content)

    print(f"'{filename}' 파일 다운로드 완료...")

except requests.exceptions.RequestException as e:
    print(f"파일 다운로드 중 오류가 발생했습니다...: {e}")

requests.get(url)

  • 지정된 URL로 HTTP GET 요청을 보냅니다.

response.raise_for_status()

  • 만약 요청이 실패하면(예: 404 Not Found), 오류를 발생시켜줍니다.

response.content

  • 서버로부터 받은 응답의 내용을 바이트 형식으로 가져옵니다.

open(filename, 'wb')

  • 파일을 바이너리 쓰기 모드로 열어 데이터를 그대로 저장합니다.

  1. Python의 urllib 라이브러리 사용 (내장 라이브러리)
  • requests 라이브러리를 설치하지 않아도, Python에 기본 내장된 urllib를 사용할 수 있다.
import urllib.request

url = "https://datasets-server.huggingface.co/datasets/imdb/plain_text_train.csv"
filename = "imdb_train.csv"

try:
    urllib.request.urlretrieve(url, filename)
    print(f"'{filename}' 파일 다운로드 완료...")

except urllib.error.URLError as e:
    print(f"파일 다운로드 중 오류가 발생했습니다...: {e.reason}")

urllib.request.urlretrieve(url, filename)

  • 가장 간단한 방법으로, URL에서 파일을 다운로드한 후 로컬 파일로 저장한다.

  1. 터미널(Shell)에서 curl 또는 wget 사용
  • 프로그래밍 언어가 아닌, 터미널에서 직접 명령어를 사용하여 파일을 직접 다운로드할 수 있다.

curl 명령어:


curl -o imdb_train.csv https://datasets-server.huggingface.co/datasets/imdb/plain_text_train.csv
-o 옵션은 다운로드한 파일의 이름을 지정

wget 명령어:


wget https://datasets-server.huggingface.co/datasets/imdb/plain_text_train.csv
wget은 기본적으로 파일명을 자동으로 추출하여 저장

  1. Hugging Face의 datasets 라이브러리를 이용하는 방법
from datasets import load_dataset_builder
from datasets import load_dataset

dataset = load_dataset("imdb") # Hugging Face의 datasets 라이브러리를 통해 API를 호출

Hugging Face의 datasets 라이브러리는 내부적으로 위에 설명된 HTTP 요청 방식을 통해 데이터셋 서버에서 파일을 다운로드하고 압축을 푸는 등의 작업을 자동으로 처리한다.

profile
AI Study

0개의 댓글