[SSH] Kaggle 데이터셋

김보현·2024년 7월 16일
0

Server

목록 보기
4/5

kaggle link
Kaggle에서 제공하는 "Anime Recommendations Database" 데이터셋을 사용하여 나의 히어로 아카데미아와 헌터X헌터만 골라서 서버에 다운로드 해봤습니다.

kaggle프로필 클릭 > settings > Account> create New Token
이렇게하면 kaggle.json 파일이 다운로드 됩니다.

import os
import requests
import pandas as pd
from bs4 import BeautifulSoup

# Kaggle 데이터셋 로드
anime = pd.read_csv('./dataset/anime.csv')

# My Hero Academia와 Hunter x Hunter 데이터 필터링
mha = anime[anime['name'].str.contains('My Hero Academia', case=False)]
hxh = anime[anime['name'].str.contains('Hunter x Hunter', case=False)]

print(mha)
print(hxh)

def download_images(query, folder_name, num_images=10):
    if not os.path.exists(folder_name):
        os.makedirs(folder_name)

    search_url = f"https://www.google.com/search?q={query}&source=lnms&tbm=isch"
    headers = {"User-Agent": "Mozilla/5.0"}

    response = requests.get(search_url, headers=headers)
    soup = BeautifulSoup(response.text, 'html.parser')
    img_tags = soup.find_all("img", limit=num_images + 1)  # 첫 번째 이미지는 구글 로고일 수 있으므로 추가로 하나 더 가져옵니다.

    for i, img_tag in enumerate(img_tags[1:num_images + 1], start=1):  # 첫 번째 이미지를 건너뜁니다.
        img_url = img_tag.get("src")
        if not img_url.startswith('http'):
            img_url = 'https:' + img_url  # 상대 경로를 절대 경로로 변환
        try:
            img_data = requests.get(img_url).content
            with open(os.path.join(folder_name, f"{query}_{i}.jpg"), 'wb') as handler:
                handler.write(img_data)
            print(f"Downloaded {query}_{i}.jpg")
        except Exception as e:
            print(f"Could not download {query}_{i}.jpg: {e}")

download_images('My Hero Academia', 'my_hero_academia', num_images=100)
download_images('Hunter x Hunter', 'hunter_x_hunter', num_images=100)

최애 애니이자 7기 방영중인 히로아카를 불러올 수 있어서 흥미로웠지만, 데이터로 쓰기는 힘들 것 같다.
다음엔 직접 구글에서 확장 프로그램을 사용해서 내가 좋아하는 키스오브라이프 하늘이로 데이터셋을 만들어야겠다.


profile
Fall in love with Computer Vision

0개의 댓글