From 17e5d60ca7a58c5dd5abd71d9a4513d0507a83ad Mon Sep 17 00:00:00 2001 From: Sergei Khmelevskiy Date: Sun, 3 Feb 2019 12:35:45 +0300 Subject: [PATCH 1/3] simple window --- src/webcrawler/WebCrawler.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/webcrawler/WebCrawler.java b/src/webcrawler/WebCrawler.java index 737f85a..8cd6b6e 100644 --- a/src/webcrawler/WebCrawler.java +++ b/src/webcrawler/WebCrawler.java @@ -1,12 +1,25 @@ package webcrawler; import javax.swing.*; +import java.awt.*; public class WebCrawler extends JFrame { public WebCrawler() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(300, 300); + InContent textCont = new InContent(200,200); + setLayout(new GroupLayout(getContentPane())); + setTitle("WebCrawler"); + add(textCont.textArea).setLocation(30,30); setVisible(true); setLayout(null); } +} + +class InContent extends JFrame { + JTextArea textArea = new JTextArea("HTML CODE??"); + + InContent(int x, int y){ + textArea.setSize(x, y); + } } \ No newline at end of file From 1ebed4c0390773fdd90b9dffea0b057ed81c5f0f Mon Sep 17 00:00:00 2001 From: Sergei Khmelevskiy Date: Sun, 3 Feb 2019 14:02:17 +0300 Subject: [PATCH 2/3] getting html text --- src/webcrawler/WebCrawler.java | 51 +++++++++++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 4 deletions(-) diff --git a/src/webcrawler/WebCrawler.java b/src/webcrawler/WebCrawler.java index 8cd6b6e..9327617 100644 --- a/src/webcrawler/WebCrawler.java +++ b/src/webcrawler/WebCrawler.java @@ -2,24 +2,67 @@ import javax.swing.*; import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.URL; +import java.nio.charset.StandardCharsets; public class WebCrawler extends JFrame { + private String url; + public WebCrawler() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - setSize(300, 300); - InContent textCont = new InContent(200,200); + setSize(600, 800); + InContent textCont = new InContent(getWidth() - 60,getHeight() - 110); setLayout(new GroupLayout(getContentPane())); setTitle("WebCrawler"); - add(textCont.textArea).setLocation(30,30); + + textCont.applyButton.setSize(90, 30); + textCont.applyButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + url = textCont.askUrl.getText(); + textCont.getPageText(url); + } + }); + add(textCont.applyButton).setLocation(480, 10); + + textCont.askUrl.setSize(425, 30); + add(textCont.askUrl).setLocation(30, 10); + + add(textCont.textArea).setLocation(30,50); setVisible(true); setLayout(null); } } class InContent extends JFrame { - JTextArea textArea = new JTextArea("HTML CODE??"); + JTextField askUrl = new JTextField("Type URL here"); + JTextArea textArea = new JTextArea(); + JButton applyButton = new JButton("Start"); InContent(int x, int y){ textArea.setSize(x, y); } + + void getPageText(String url){ + StringBuilder str = new StringBuilder(); + String nextLine; + try { + InputStream inputStream = new URL(url).openStream(); + BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8)); + while ((nextLine = reader.readLine()) != null){ + str.append(nextLine); + str.append("\n"); + } + textArea.setText(str.toString()); + } catch (IOException e) { + e.printStackTrace(); + } + + } } \ No newline at end of file From 1e95e4c7498dc8bf468a11e3218b5ef9f8cca1f6 Mon Sep 17 00:00:00 2001 From: Sergei Khmelevskiy Date: Sun, 3 Feb 2019 18:13:02 +0300 Subject: [PATCH 3/3] getting title --- src/webcrawler/WebCrawler.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/webcrawler/WebCrawler.java b/src/webcrawler/WebCrawler.java index 9327617..dbe3546 100644 --- a/src/webcrawler/WebCrawler.java +++ b/src/webcrawler/WebCrawler.java @@ -33,8 +33,8 @@ public void actionPerformed(ActionEvent e) { textCont.askUrl.setSize(425, 30); add(textCont.askUrl).setLocation(30, 10); - - add(textCont.textArea).setLocation(30,50); + add(textCont.title).setLocation(30, 50); + add(textCont.textArea).setLocation(30,85); setVisible(true); setLayout(null); } @@ -43,10 +43,12 @@ public void actionPerformed(ActionEvent e) { class InContent extends JFrame { JTextField askUrl = new JTextField("Type URL here"); JTextArea textArea = new JTextArea(); + JTextArea title = new JTextArea(); JButton applyButton = new JButton("Start"); InContent(int x, int y){ textArea.setSize(x, y); + title.setSize(540, 30); } void getPageText(String url){ @@ -60,6 +62,8 @@ void getPageText(String url){ str.append("\n"); } textArea.setText(str.toString()); + String[] strm = str.toString().split("()"); + title.setText("Title is: " + strm[1]); } catch (IOException e) { e.printStackTrace(); }