개발자

다른 사이트의 정보를 긁어오는 방법

2023년 09월 16일조회 87

토이 플젝 하는중에 궁금한게 있습니다. Api를 개발중인데 예를들어 프론트단에서 "사과"라는 데이터를 싣어서 api를 쏴주면 백(스프링부트)에선 사과를 판매하는 특정 사이트( 이 사이트는 제가 명시 할 예정 입니다. ) 에서 사과를 얼마에 판매하는지 가격을 가져와서 리스펀스로 던져주고 싶은데 ( 특정사이트 진입-> 사과검색 -> 가격 긁어오기 ) 이런걸 만들려면 파이썬 크롤링을 해야하는걸로 알고 있습니다. 파이썬은 경험이 없고 스프링부트로 해결하고싶은데 이런식으로 특정 사이트를 뒤져서 값을 긁어오는 방법이 있을까요??

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 1

이상선님의 프로필 사진

언어는 중요한 게 아니고 외부 웹을 가져 오는 함수를 각 언어에서 찾으면 됩니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2023년 09월 16일

네, Java와 Spring Boot를 사용하여 웹 스크래핑을 수행할 수 있습니다. Jsoup이라는 라이브러리를 사용하면 HTML 페이지에서 데이터를 추출하는데 유용합니다. 다음은 Jsoup을 사용하여 특정 웹사이트에서 제품 가격 정보를 크롤링하는 간단한 예제입니다. ```java import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; public class WebScraper { public static void main(String[] args) throws IOException { // 웹 사이트에 연결합니다. Document doc = Jsoup.connect("https://www.example.com/product/apple").get(); // CSS 셀렉터로 원하는 요소를 추출합니다. (금액 파트) Element priceElement = doc.select(".product-price").first(); // 텍스트 데이터를 가져옵니다. String price = priceElement.text(); System.out.println("The price of the apple is: " + price); } } ``` 위 코드는 간단한 예시일 뿐, 실제 상황에서는 CSS 셀렉터 및 URL 등을 해당 사이트에 맞게 변경해야 합니다. 또한 오류 처리나 다른 예외적인 상황들에 대처할 수 있도록 추가적인 코드 구현이 필요할 수 있습니다. 그리고 스프링 부트의 경우 이런 방식으로 데이터를 긁어와서 API response로 반환하는 서비스를 만들면 됩니다. 하지만, 웹 스크래핑은 법적인 이슈가 있을 수 있으니 해당 웹사이트의 이용약관을 잘 확인하고 진행해주세요.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!