tmdb에서는 다양한 api를 제공한다.
→ 추천시스템을 위한 db구축을 할때 api를 번번히 호출하기보다는 먼저 db를 구축하여 기준에 맞게 추천을 해주려고 한다.

위의 세가지를 고려하여 호출을 구상했다.
import requests
import pandas as pd
import datetime
url = "https://api.themoviedb.org/3/movie/changes"
headers = {
"accept": "application/json",
"Authorization": "발급한 API키"
}
start_date = pd.to_datetime("2023-01-01")
end_date = pd.to_datetime("2023-06-12")
date_range = pd.date_range(start=start_date, end=end_date, freq='D')
movie_id_list = []
adult_list = []
for date in date_range:
formatted_date = date.strftime("%Y-%m-%d")
page = 1
while True:
params = {
"start_date": formatted_date,
"end_date": formatted_date,
"page": page
}
response = requests.get(url, headers=headers, params=params)
data = response.json()
for result in data['results']:
movie_id_list.append(result['id'])
adult_list.append(result['adult'])
total_pages = data['total_pages']
if page >= total_pages:
break
else:
page += 1
df = pd.DataFrame({'Movie ID': movie_id_list, 'Adult': adult_list})
print(df)
# date today를 정의
current_date = datetime.date.today()
# 파일명에 날짜를 추가
file_name = f"tmdb2023{current_date}.csv"
# df를 CSV 파일로 저장
df.to_csv(file_name, index=False, encoding='utf-8-sig', sep=',')

해당컬럼이 아닌 다른 컬럼에 줄거리가 저장되는 이슈가 발생했다.
→ tmdb api 호출 결과를 확인해보니 \r로 된 개행문자가 포함되면서 해당파일의 저장이 이상하게 되었다.
→ 또한 개행문자의 오류때문인지 pandas로 불러지지 않는 오류가 발생하였다.
⇒pd.to_csv에서 sep=’,’ 대신 sep=’|’으로 수정
해당 작업을 전처리를 하기 전, 바로 mongodb에 적재 후 전처리를 하여 db를 생성하는 방안을 생각중