728x90
반응형
SMALL

(1) Swing

예전의 GUI 구현도구 였던 awt의 차기 버전

컴포넌트가 많고 JFrame으로 구현

 

(2) Swing Compinets

JButton, JTextfield, JLabel, JPasswordField

JTable, JTextArea, JSlider

 

import org.jsoup.Jsoup; 설정 방법 

Java Jsoup 크롤링이라고 함!!

 

Jsoup을 사용해서 크롤링을 할 때 문서가 커지면 에러가 나기 때문에 따로 깔아줘야한다!!

Overview (jsoup Java HTML Parser 1.15.2 API)

 

Overview (jsoup Java HTML Parser 1.15.2 API)

jsoup: Java HTML parser that makes sense of real-world HTML soup. jsoup is a Java library for working with real-world HTML. It provides a very convenient API for fetching URLs and extracting and manipulating data, using the best of HTML5 DOM methods and CS

jsoup.org

위 링크에서 자바스트립트를 지정해둔 파일에 저장한다!!

자바 프로젝트에서 오른쪽 우클릭

맨 아래 하단에 Properties선택!!

Java Build Path클릭

Classpath클릭후 

Add External JARs... 클릭

지정해둔 위치에 들어가  jsoup-1.15.2을 연다

Apply를 누르면 적용!!

package Day08.swing;

import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JLabel;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class MovieSearch extends JFrame implements ActionListener {
JLabel l1, l2, l3, l4, l5;
JTextField tf1;
JButton b1;

MovieSearch(){

	tf1 = new JTextField("영화이름을 입력하세요");
	tf1.setBounds(20,50,200,30);

	b1 = new JButton("검색");
	b1.setBounds(230,50,60,30);

	l1 = new JLabel("감상평1");
	l1.setBounds(20,90,500,30);
	l2 = new JLabel("감상평2");
	l2.setBounds(20,130,500,30);
	l3 = new JLabel("감상평3");
	l3.setBounds(20,170,500,30);
	l4 = new JLabel("감상평4");
	l4.setBounds(20,210,500,30);
	l5 = new JLabel("감상평5");
	l5.setBounds(20,250,500,30);

	add(tf1); add(b1);
	add(l1); add(l2); add(l3); add(l4); add(l5);
	b1.addActionListener(this);

	setTitle("Movie Search");
	setSize(600, 360);
	setLayout(null);
	setVisible(true);
}

public static void main(String[] args) {
	// TODO Auto-generated method stub
	new MovieSearch();
}

public void actionPerformed(ActionEvent e){
	String str = tf1.getText();
	l1.setText(str);

	String URL = "<https://search.naver.com/search.naver?query=영화+>" + str;
	try {
		Document doc = Jsoup.connect(URL).get();
		Elements els = doc.select("p.area_text_box_ell");
		System.out.println(els);
		int i = 1;

		for(Element el : els) {
			if(i==1) l1.setText(el.text());
			else if(i==2) l2.setText(el.text());
			else if(i==3) l3.setText(el.text());
			else if(i==4) l4.setText(el.text());
			else if(i==5) {
				l5.setText(el.text());
				break;
			}
			i++;
		}
	}
	catch(Exception ex) {

	}

}

}
 
728x90
반응형
LIST

'개발 > JAVA' 카테고리의 다른 글

JVM  (0) 2023.01.18
Hello World!  (0) 2023.01.18
스트림(Stream)  (0) 2023.01.09
스레드(Thread)  (0) 2023.01.09
컬렉션 프레임워크 (Collection Framework)  (0) 2023.01.09

+ Recent posts