Repository navigation
Releases
Releases · j25ng/movdata
0.7/peopleInfo
v0.7 영화진흥위원회 영화인 상세정보 API 조회 및 데이터 수집
save data
$ cd data
$ tree
.
└── people
├── peopleInfo
│ ├── peopleInfo_1.json
│ ├── peopleInfo_2.json
│ ├── peopleInfo_3.json
│ ├── peopleInfo_4.json
│ └── peopleInfo_5.json
└── peopleList.json
2 directories, 6 files0.6/peopleList
v0.6 영화진흥위원회 영화인목록 API 조회 및 데이터 수집
save data
$ cd data
$ tree
.
└── people
└── peopleList.json
1 directory, 1 fileissue
데이터 용량 문제로 에러 발생 & 과도한 데이터 수집 예상 소요 시간
-> 나눠서 수집하는 방식으로 해결은 가능하나, 시간상 문제로 전체 데이터 수집 보류
-> 1,000페이지까지만 지정해서 데이터 수집 테스트
source code
~
# peopleList.py
# 1000페이지까지만 저장
total_pages = 1000
all_data = []
# total_pages 만큼 Loop 돌면서 API 호출
for page in tqdm(range(1, total_pages + 1)):
time.sleep(sleep_time)
r = req(url_base + f"&curPage={page}")
d = r['peopleListResult']['peopleList']
all_data.extend(d)
save_json(all_data, file_path)
~test result
정상적으로 수집 성공
0.5/companyInfo
v0.5 영화진흥위원회 영화사 상세정보 API 조회 및 데이터 수집
save data
$ cd data
$ tree
.
└── company
├── companyInfo
│ ├── companyInfo_1.json
│ ├── companyInfo_2.json
│ ├── companyInfo_3.json
│ ├── companyInfo_4.json
│ ├── companyInfo_5.json
│ ├── companyInfo_6.json
│ └── companyInfo_7.json
└── companyList.json
2 directories, 8 filesissue
1. companyCd가 8자리 이하인 경우 상세정보 조회 불가
-> companyCd가 8자리인 경우에만 companyCd list에 추가
for cp in companies:
# companyCd가 8자리인 경우에만 추가
if len(cp['companyCd']) == 8:
companyCd.append(cp['companyCd'])2. KeyError 발생
에러 시점이 계속해서 바뀌는 것을 보니 특정 부분 key에 문제가 있는 것은 X
과도한 API 호출&데이터 용량 문제로 발생하는 것으로 추정
-> 2000개씩 나눠서 데이터를 저장하는 방식으로 변경

정상적으로 수집 성공
0.4/companyList
v0.4 영화진흥위원회 영화사목록 API 조회 및 데이터 수집
save data
$ cd data
$ tree
.
└── company
└── companyList.json
1 directory, 1 file0.3/movieInfo
v0.3 영화진흥위원회 영화 상세정보 API 조회 및 연도별 데이터 수집
save data
$ cd data
$ tree
.
└── movies
├── year=2015
│ ├── movieInfo.json
│ └── movieList.json
├── year=2016
│ ├── movieInfo.json
│ └── movieList.json
├── year=2017
│ ├── movieInfo.json
│ └── movieList.json
├── year=2018
│ ├── movieInfo.json
│ └── movieList.json
├── year=2019
│ ├── movieInfo.json
│ └── movieList.json
├── year=2020
│ ├── movieInfo.json
│ └── movieList.json
└── year=2021
├── movieInfo.json
└── movieList.json
8 directories, 14 filesissue
key 하루 이용량 초과 문제 발생
-> 영화진흥위원회에서 제공하는 응답 예시 키로 대체하여 사용
0.2/movieList
v0.2 영화진흥위원회 영화목록 API 조회 및 연도별 데이터 수집
save data
$ cd data
$ tree
.
└── movies
├── year=2015
│ └── movieList.json
├── year=2016
│ └── movieList.json
├── year=2017
│ └── movieList.json
├── year=2018
│ └── movieList.json
├── year=2019
│ └── movieList.json
├── year=2020
│ └── movieList.json
└── year=2021
└── movieList.json
8 directories, 7 filescheck file exists
source code
if os.path.exists(file_path):
print(f"데이터가 이미 존재합니다: {file_path}")]
return Truetest result
