JAVA로
웹 크롤링
웹 크롤링은 인터넷 상의 웹 페이지를 자동으로 탐색하고 데이터를 수집하는 과정임
크롤링엔 정적 클롤링과 동적 크롤링이 있으며
정적 클롤링은 웹 페이지에 접근해 페이지에 작성된 데이터만 모음 << Jsoup 사용
동적 크롤링은 웹 페이지가 참조하는 데이터까지 접근 가능하지만
본 서버의 데이터를 암호화 했다면 접근이 불가능함 << 셀레니움 사용
본인은 Jsoup을 사용함
[ 코드 ]
// [웹 클롤링]
public class Test01 {
public static void main(String[] args) {
String url ="https://ae-ae.kr/product/list.html?cate_no=42";
// 웹 페이지에서 "index"란 표지 페이지(첫 페이지)를 의미
Connection conn = Jsoup.connect(url);
// Jsoup으로 연결시도
// 연결 객체가 반환됨
// Jsoup은 JAVA의 기본 패키지가 아님
// 라이브러리 == 소스코드모음집
// Jsoup 라이브러리를 별도로 설치해야함
// .jar == JAVA아카이브 == JAVA압축파일 == 소스코드모음집 == 라이브러리 == 패키지
try {
Document doc = conn.get();
Elements elems = doc.select("strong.name"); // strong태그 class이름이 name인 요소
Elements elems2 = doc.select("li > :not([id])span"); // li 태그 안에 id가 없는 span태그 요소
// 거기에 해당하는 요소들 = doc.select(찾고싶은 데이터 이름);
// cssQuery == css 언어 == css스크립트어 == css이름 == css쿼리
// elements == 요소들
for(int i=0; i<elems.size(); i++) {
System.out.println(elems.get(i).text().substring(6));
System.out.println(elems2.get(i).text().replaceAll("[^\\d]", ""));
}
// for(Element elem:elems) {
// System.out.println(elem.text());
// }
} catch (IOException e) {
System.out.println("연결중 에러 발생");
}
// Document란
// 웹 페이지 화면을 의미
}
}
상품의 이름과 가격을 가져옴
[ 출력 결과 ]
이거 이거 물건이구만
'javaboiii의 JAVA > JAVA 예제' 카테고리의 다른 글
JAVA - 파일 입출력 예제 (0) | 2024.07.25 |
---|---|
JAVA - MVC패턴 예제 (0) | 2024.07.18 |
JAVA - ArrayList, Map 예제 (0) | 2024.07.15 |
JAVA - 인터페이스 예제 (0) | 2024.07.12 |
JAVA - [함수] 학생부 프로그램 함수화 (0) | 2024.07.01 |