외부 api를 이용해서 기능을 구현해볼까 싶어서 youtube api와 twitch api 두개다 테스트를 해보니 문제없이 작동을 해서 팔로우 동작 방향을
와 같이 구성해볼까 싶어서 동작을 해보았는데
구성을 하고 테스트를 진행하다 보니 문제가 생겼다.
테스트 도중에 갑자기 테스트 진행이 원활하게 되지 않는 상황이 발생했는데 알아보니까
지금 보는것은 할당량이 초기화가 되어서 전부 0%로 표기 되어 있지만
하루 할당량이 100%로 전부 사용하여서 API이용기 불가해 졌던 것입니다.
할당량이 1만인데 대체 어떤 방식이길래 갑자기 100% 그것도 짧은 기간 사용했는데 100% 된것에 당황해서 왜 그렇게 된것인지 알아보니
YouTube Data API (v3) - 할당량 계산기 | Google for Developers
이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English YouTube Data API (v3) - 할당량 계산기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 아래 표
developers.google.com
이라는게 있어서 살펴보니
검색 1건당 무려 100의 할당량을 사용한다는 것을 알게 되었습니다.
팔로우 등록뿐만 아니라 라이브 상황을 검색하기 위해서 검색이라는 기능을 계속 사용하려고 했는데
그냥 등록하기 위해 검색하는것만으로도 하루 100번 밖에 검색을 하지 못하기 때문에 계획했던 방식으로 설계하는것은 무리인것을 확인 그럼 할당량을 적게 사용하면서 비슷한 기능을 구현하기 위해서는 어떻게 사용해야 하는지 다시한번 고려해보니
을 활용하면 유저의 채널 ID만 있으면 구독한 채널에 대한 정보를 가져오는것이 가능하고 그렇게 되면
이런 흐름으로 진행한다면 일단 회원가입을 하는 사용자의 채널에 구독된 채널에 대한 정보를 얻을수 있고 얻은 정보를 바탕으로 검색으로 얻었어야 했던 정보를 얻을수 있다.
그러고 나서 처음에는 원래라면 youtube API Search를 통해서
해당 매개변수를 이용해서 출력되는
"liveBroadcastContent": string
로 라이브 여부를 판단할 계획이었으나 해당 부분이 무산된 관계로 다른 방법을 고민을 한 결과
와 같이 https://www.youtube.com/@sbsnews8/streams 와 같이 https://www.youtube.com/<커스텀 url>/streams 로 url이 구성되어있는것을 확인할수 있었다.
그래서 Selenium을 이용해서 스크래핑을 해서 이미지에 표시되어 있는 <실시간>에 해당되는 html이 존재하는지 확인이 가능하면서 비디오를 출력하기 위한 video_id도 추출도 가능하기에 이런 흐름을 이용해서 라이브 상태를 파악하고자 한다.
해당 기능은 구독한 채널들의 일부 조건이 필요하다.
라이브를 하는건 단 1개만 라이브를 진행한다.(일부 뉴스의 경우 여러개를 실행하는 경우가 존재하지만 일반적인 방송인 경우 1개를 넘어가는 경우가 없기 때문)
'토이프로젝트' 카테고리의 다른 글
토이프로젝트 - PIViewer(5) frontend (0) | 2023.11.30 |
---|---|
토이프로젝트 - PIViewer(4) backend (0) | 2023.11.27 |
토이프로젝트 - PIViewer(2) (0) | 2023.11.10 |
토이프로젝트 - PIViewer(1) (0) | 2023.11.10 |
Twitch API 간단 사용해보기 (0) | 2023.11.10 |