인프런 커뮤니티 질문&답변

최인수님의 프로필 이미지
최인수

작성한 질문수

파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)

프로젝트 마무리

실시간으로 변동되는 데이터를 가져온다면 어떻게 처리해야할까요?

작성

·

1.4K

1

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
안녕하세요:)
"프로젝트 마무리" 영상을 보고 궁금한 점이 있어 질문드립니다.
 
만약 '파이썬' 관련 책이 같은 날 다른 시간에 추가되었다면 어떻게 처리해야할까요? (=실시간으로 변동되는 데이터를 어떻게 처리해야할까요?)
 
[상황]
- 04/03일 13:00시에 '파이썬'을 검색을 했을 때, 책들이 수집되어 DB에 저장
 
- 04/03일 '파이썬' 관련 새로운 책 추가되었음.
 
- 04/03일 18:00시에 다시 '파이썬' 검색
 
현재 개발된 코드는 이와 같은 상황에서 04/03일 18:00시에 동일한 keyword를 검색해도 04/03일 13:00시에 DB에 저장된 데이터가 출력될 것입니다.
 
시간마다 변동되는 데이터가 존재하고 검색을 할때마다 스크래핑을 진행 -> 데이터를 DB에 저장해야한다면, 검색할 때마다 DB 데이터를 지웠다가 다시 저장하는 로직으로 구현을 해야할까요?

답변 2

0

안녕하세요. 좋은 강의 감사합니다.

강사님 코드 그대로 진행을 했습니다.

main.py 에서 검색 갯수를 20 페이지로 설정을 했는데

갯수가 100만 검색이 되었습니다.

   books = await book_scraper.search(keyword, 20)

입력 숫자를 10, 12, 15, 20를 입력해도 동일하게 최대 100개만 검색이 되어서 이건 네이버 정책인가요?

네이버에서 직접 검색해 보면 100개가 넘는 것도 동일한결과가 나옵니다.

0

윤상석님의 프로필 이미지
윤상석
지식공유자

안녕하세요! 

좋은 질문입니다. 네 맞습니다. 오픈 API를 사용해야 하기에 최신화를 한다면 DB를 직접 업데이트해야 합니다.

실시간으로 하고 싶으시다면 DB에 저장하지 않고 오픈 API를 계속 사용하시면 됩니다. 오픈 API를 무제한으로 사용할 수 없기에 DB에 일시적으로 저장한 것입니다.

추가적으로, 오픈 API를 사용하지 않는 실제 검색 서비스라면 자체 데이터를 수집하고 자체 검색 API를 개발하면 검색 결과를 따로 DB에 저장하는 것은 하지 않습니다. (캐싱 목적 제외)

감사합니다.

최인수님의 프로필 이미지
최인수

작성한 질문수

질문하기