From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../TestApp/src/Parser/HtmlParser.java | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 Master/Agile Software Development/TestApp/src/Parser/HtmlParser.java (limited to 'Master/Agile Software Development/TestApp/src/Parser/HtmlParser.java') diff --git a/Master/Agile Software Development/TestApp/src/Parser/HtmlParser.java b/Master/Agile Software Development/TestApp/src/Parser/HtmlParser.java new file mode 100644 index 0000000..96ad2b2 --- /dev/null +++ b/Master/Agile Software Development/TestApp/src/Parser/HtmlParser.java @@ -0,0 +1,56 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Parser; + +import java.util.logging.Level; +import java.util.logging.Logger; +import org.htmlparser.util.NodeList; +import org.htmlparser.util.ParserException; +import testapp.data.Item; +import testapp.data.PageItem; +import java.util.logging.*; + +/** + * + * @author + */ +public class HtmlParser //extends NodeVisitor { +{ + + public HtmlParser() { + } + + public Item parse(String url) { + try { + PageItem rootNode = new PageItem(url,null); + + org.htmlparser.Parser parser = new org.htmlparser.Parser(rootNode.getUrl()); + NodeList nodeList = parser.parse(null); + + nodeList.visitAllNodesWith(new Visitor(rootNode)); + + return rootNode; + + } catch (ParserException ex) { + Logger.getLogger(HtmlParser.class.getName()).log(Level.SEVERE, null, ex); + return null; + } + } + + public Item parse(Item rootItem) { + try { + org.htmlparser.Parser parser = new org.htmlparser.Parser(rootItem.getUrl()); + NodeList nodeList = parser.parse(null); + + nodeList.visitAllNodesWith(new Visitor(rootItem)); + + return rootItem; + + } catch (ParserException ex) { + Logger.getLogger(HtmlParser.class.getName()).log(Level.SEVERE, null, ex); + return null; + } + } +} -- cgit v1.2.3