개발자
스프링 부트에서 웹 크롤링 파이썬 코드를 호출하고 싶은데 호출하려면 따로 장고로 API를 분리하여 스프링 부트에서 장고 웹 크롤링 파이썬 코드를 호출하여야 하나요? 아니면 jyton을 사용하여야 하나요? 추후 웹 크롤링을 하여 해당 데이터로 추천 모델링을 만들어 확장시킬려고 합니다
답변 1
안녕하세요 ! 정답은 아니고 그냥 머릿속에 생각해봤는데 2가지 방식으로 가능할 것 같아요 ! 첫 번째는 말씀하신 것 처럼 Django나 FastAPI 등의 API 구성하는 것입니다. 모델링을 하시면 사이킷런이나 텐서, 파이토치 등 Python 기반으로 쓰실 가능성이 높아서 확장성을 고려하기 좋은 환경일 것 같아서 괜찮은 것 같아요 ! 두 번째 방식은 당장 크롤링 데이터를 적재를 빠르게 하고 싶다면 Shell Script 작성도 나쁘지 않은 선택지 같습니다. 정확히 말하면 SpringBoot를 통해서 같은 서버(로컬이면 내 컴퓨터)에 있는 미리 작성해둔 Shell Script를 통해 크롤링를 실행시킬 수도 있고, 또는 다른 서버면 ssh로 접속해서 처리할 수도 있을 것 같습니다 !
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 05월 01일
스프링 부트에서 웹 크롤링을 위한 파이썬 코드를 호출하는 방법에는 여러가지가 있습니다. 1. **장고로 API 구성:** 파이썬 코드를 장고 애플리케이션에 래핑하고 그것을 웹 서비스 또는 API로 만들 수 있습니다. 이렇게 하면 스프링 부트 애플리케이션이 해당 API를 호출하여 결과를 가져올 수 있습니다. 이 방법은 언어 간 통신이 필요할 때 괜찮은 선택일 수 있지만, 오버헤드가 발생할 수 있으며 파이썬과 자바 사이의 직접적인 통신은 이루어지지 않습니다. 2. **Jython 사용:** Jython은 자바와 쉽게 통합되도록 설계된 파이썬의 구현입니다. Jython을 사용하면 JVM 위에서 바로 파이썬 코드를 실행할 수 있으므로, 스프링 부트 애플리케이션에서 파이썬 코드를 직접 호출할 수 있습니다. 3. **ProcessBuilder 사용:** Java에는 외부 프로세스를 시작하는 데 사용될 수 있는 ProcessBuilder 클래스가 제공됩니다. 이 클래스를 사용하면 스프링 부트 애플리케이션에서 직접 파이썬 스크립트를 실행할 수 있습니다. 이 방법의 장점은 별도의 서비스 또는 API없이 파이썬 코드를 호출하는 것이지만, 출력을 캡처하고 에러 흐름을 관리해야 할 필요가 있습니다. 위에서 언급한 방법 중 어느 것이 가장 좋은지는 특정 상황과 요구 사항에 따라 다릅니다. 주어진 작업에 가장 적합한 도구를 선택하는 것이 중요합니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!