목록혼자하기/웹 프로젝트 1) 뉴스 (5)
오래 못 할 짓 하지 않기
우선 화면에 띄우기 위해서는 2가지가 필요하다. ● DB에 있는 정보를 HTML 과 연동할 수 있는 그릇 ● HTML로 그 그릇을 가져와 쓸 곳 첫 번째 : 연동할 그릇 DB에 넣은 건 저번에 다 끝냈다. 이제 그걸 가져올건데, 그건 Jpa 내장 함수인 findall() 를 사용하면 된다. "(newsService 클래스)" public List newsList(){ return newsRepository.findAll(); } 이렇게 service에 함수를 만들어준 다음 Controller에서 호출하여 사용하는데 @PostMapping("news/result") public String resultOfNews(Model model) throws Exception{ newsService.addContTo..
완성한 항목 : 크롤링 + 원하는 데이터들 뽑아서 가져오기 + 10개만 출력하기 ( + DB에 추가는 아직 못 했음 이따 할 예정 ) public void addContToDB(News news) throws Exception{ String URL = "https://www.yna.co.kr/economy/all?site=navi_economy_depth02"; Document doc = Jsoup.connect(URL).get(); Elements elem = doc.select("div[class=\"news-con\"]"); int i=1; for(Element e:elem.select("div[class=\"news-con\"]")){ System.out.print(i+" 제목: " + e.sel..
크롤링 난 여태껏 크롤링이 진짜 엄청 어려운 거라고 생각했는데 막상 해보니 아주 간단함. 코드가 아닌 원리만 이해하는 방식으로는 레고 전시회라고 생각해보자. ' 레고 전시회에서 A위치에 있는 작품에서 빨간 블록 하나만 빼온다 ' 고 이해하면 편할 것 같다. 현재 내가 이해한 바로는 크롤링은 해당 URL(주소)에서 HTML기반으로 데이터를 가져오는 걸 뜻한다. URL = 위치 A / 데이터 = 빨간 블록 우선 newsService에서 데이터를 다루어야 하니까 content를 가져오는 class를 하나 만들었다. 그리고 jsoup을 디펜던시에 추가하고, import를 했다. 필요한 재료 어느 사이트 URL을 사용할지. public void addContToDB(News news) throws Exceptio..
Entity : DB와 연결하는 클래스 데이터베이스의 테이블에 존재하는 컬럼들을 필드로 가지는 객체 즉, DB에 있는 데이터들을 가져올 수 있음. Entity 파일은 DB에 있는 항목들을 가공할 수 있는 변수로 만들어 역할을 한다. @GeneratedValue(strategy = GenerationType.IDENTITY) 해당 어노테이션은 아래 DB 와 연결해준다. server.port=8091 spring.datasource.driver-class-name=org.mariadb.jdbc.Driver spring.datasource.username=root spring.datasource.password=******* spring.datasource.url=jdbc:mariadb://localhost:..
프로젝트 목표: 웹 서비스를 하나 만들면서 여러 기능을 다루어 보기 만들고자 하는 것 : 기사 요약 웹사이트 타겟층 : 직장인들, 학생들, → 뉴스를 보고싶지만 긴 글을 읽는 걸 싫어하는 사람들 1. 어떻게 나눌지는 생각 안 해놓음. ( 토픽별로 나눈다면 : 정치,사회,스포츠 / 뉴스 회사별로 나눌 수도 있긴 함 : 조중동 + 연합뉴스 KBS 등등..) 2. 선택한 파트로 들어가서 상위 10개의 뉴스 본문을 긁는다. 3. ChatGPT로 내용을 요약해달라고 한다. 4. 웹페이지에 출력한다. + 영어로 번역기능도 넣기 Study 폴더 안에 news 디렉토리를 만들었다. 개발 환경은 IntelliJ 이고, 빌드 툴은 gradle, Spring boot이다. 처음 파일에 대한 기본 설정은 spring init..