본문 바로가기

자바20

[Java] 크롤링 crawling, 셀레니움 Selenium [Java] 크롤링 crawling, 셀레니움 Selenium 웹 크롤링의 정식 명칭은 Web Scraping이며, 웹 사이트에서 원하는 정보를 추출하는 것을 의미한다. 보통 웹 사이트는 HTML기반이기 때문에 정보를 추출할 페이지에서 개발자모드 실행 후 원하는 정보를 가지고 있는 태그를 검색하는 스킬이 요구된다. 크롤링을 할 때에 크롤링한 데이터를 소장, 활용하는 것은 불법이 아니지만, 해당 데이터를 배포할 경우 문제가 될 수 있다. 때문에 이러한 경우에는 해당 사이트의 허락을 반드시 맡아야 한다. 목차 목차1 목차2 웹 크롤링 라이브러리의 종류 웹 크롤링 라이브러리는 Jsoup, Selenium 2가지가 있다. Jsoup 정적인 자료를 수집하는 경우에 주로 사용한다. 정적 데이터를 비교적 빠르게 수집.. 2021. 2. 22.
8. ResultSet 자바에서 SELECT 등의 조회 쿼리문을 실행하면 커맨드창이 아니기 때문에 바로 정보를 가져오기 어렵고, 이용하기에도 어려움이 따릅니다. 이 때 사용하게 되는 클래스가 ResultSet 클래스입니다. 1. java.sql.ResultSet ResultSet 클래스를 이용하려면 값을 조회하여야 합니다. 이전 포스트에서 살펴보았던 execute 메서드 중 executeQuery() 메서드는 이용할 때 ResultSet으로 받아와야 한다고 했습니다. 1) ResultSet의 형태는 위와 같이 TABLE 형태와 흡사합니다. ​ 2) 받아온 ResultSet는 자바의 list에서 이용했던 Iterator과 유사한 방법으로 자료를 꺼낼 수 있습니다. next() 메서드로 값이 있는지 없는지 확인하며 다음 레코드를 .. 2021. 1. 19.
20.11.09 - 배열 예제 1. 총합과 평균 배열의 모든 요소를 더해서 총점과 평균을 구하기 10개의 정수를 입력 받아서 배열에 넣고 총점과 평균을 구하여 출력하세요. 1 2 3 4 5 6 7 8 9 10 11 Scanner sc = new Scanner(System.in); //스캐너 생성 int [] intArr = new int [10]; //값을 넣을 배열 생성 int sum = 0; double avg =0; for (int i = 0; i 2021. 1. 19.
20.11.04 - 반복문 예제 1. 1에서 100까지의 정수 중에서 2, 3, 5, 7의 배수를 제외한 수를 한행에 10개씩 출력하세요. int cnt = 0; for (int i = 1; i 2021. 1. 19.
20.11.03 - 연산자 예제 1. 실습 2개를 입력받아 산술연산하세요(+, - , * , /, %) Scanner sc = new Scanner(System.in); //스캐너 생성 System.out.print("정수1: "); int num1 = sc.nextInt(); //정수1을 num1에 저장 System.out.print("정수2: "); int num2 = sc.nextInt(); //정수2를 num2에 저장 while(true){ System.out.print("원하는 연산을 입력해주세요[+, -, *, /] : "); String choice = sc.next(); if(choice.equals("+")) { System.out.println(num1+"+"+num2+" = "+(num1+num2)); }else i.. 2021. 1. 19.
16. 상속 (extends, 오버라이드) 상속이란? 클래스간의 관계 중 겹치는 필드, 메소드를 가지고 있는 클래스가 존재할 때, 해당 필드와 메소드만 가지고 있는 클래스를 생성해서 코드 작성의 효율을 높이기 위한 방법입니다. 상속은 부모클래스와 자식클래스로 이루어져 있습니다. 자바에서의 상속은 부모가 주체가 아닌 자식이 주체이며 부모는 자식이 구성하는 일부분 또는 전체를 가지고 있습니다. 하나의 자식클래스에는 하나의 부모클래스만 존재합니다. 하지만 하나의 부모클래스에는 여러개의 자식클래스를 가질 수 있습니다. 1. 클래스 상속 방법 1 2 3 4 5 public class Parents{ //부모클래스 Parents // 자식클래스에서 공통으로 가지고 있을 필드 String name; int age; } 부모클래스 Parents는 필드로 nam.. 2021. 1. 19.
15. 싱글톤 (Singleton) 접근제한자를 이용한 객체생성 방법에는 싱글톤 패턴이 있습니다. 싱글톤패턴은 클래스 내 정적필드에서 private로 객체를 생성하고 getInstance메소드를 통하여 정적필드에서 생성한 객체를 리턴하는 형식으로 객체생성을 합니다. 싱글톤 패턴을 사용해서 얻을 수 있는 장점은 객체생성을 한번만 하고 heap메모리에 하나만 올리기 때문에 같은 값을 가진 객체를 여러번 만들지 않게 되어 메모리를 절약할 수 있습니다. 대표적인 싱글톤 클래스는 Calander 클래스입니다. 1. 실글톤 클래스 생성 방법 1 2 3 4 5 6 7 8 9 10 public class Blog{ private static Blog blog = new Blog(); //클래스 내에서 private 객체 생성 private Blog() .. 2021. 1. 19.
14. 접근제한자(public, protected, private, default), getter, setter JAVA에서 클래스, 필드, 생성자, 메소드를 접근할 수 있는 권한을 제한하는 키워드를 접근제한자라고 합니다. 접근제한자의 종류는 public, protected, private, default(없음)으로 키워드를 나눌 수 있습니다. 접근제한자 키워드 적용가능 범위 접근 불가능한 클래스 public 클래스, 필드, 생성자, 메소드 X protected 필드, 생성자, 메소드 자식 클래스가 아닌 다른 패키지에 소속된 클래스 default 클래스, 필드, 생성자, 메소드 다른 패키지의 클래스 private 필드, 생성자, 메소드 모든 외부 클래스 1. public public은 말 그대로 "공공"으로 사용할 수 있는 것을 뜻합니다. public키워드를 이용한 모든 클래스, 필드, 생성자, 메소드는 메모리에 .. 2021. 1. 19.
13. final final 키워드에 대하여 클래스, 메소드, 변수에 맞추어 알아보겠습니다. 1. final 클래스 클래스에 final이 이용되는 것은 상속을 제한한다는 것을 뜻합니다. 즉, 다른 클래스에서 해당 클래스의 필드를 수정하지 못하게 하는 것을 뜻합니다. 위 코드처럼 부모클래스에서 final을 선언한다면, 이는 최종, 마지막 클래스임을 선언한 것이기 때문에 상속관계로 클래스간의 관계를 연장할 수 없습니다. 2. final 메소드 1 2 3 4 5 6 7 8 9 10 11 12 class Naver{ String id = "아이디"; String password = "패스워드"; void login() { //로그인한다는 메소드 System.out.println(id + "" + password); } } cla.. 2021. 1. 19.