]> www.vanbest.org Git - tv_grab_nl_java/commitdiff
Started RTL xml/json parser
authorJan-Pascal van Best <janpascal@vanbest.org>
Fri, 23 Mar 2012 22:10:09 +0000 (23:10 +0100)
committerJan-Pascal van Best <janpascal@vanbest.org>
Fri, 23 Mar 2012 22:10:09 +0000 (23:10 +0100)
src/main/java/org/vanbest/xmltv/RTL.java [new file with mode: 0644]
src/main/java/org/vanbest/xmltv/TvGids.java

diff --git a/src/main/java/org/vanbest/xmltv/RTL.java b/src/main/java/org/vanbest/xmltv/RTL.java
new file mode 100644 (file)
index 0000000..a1858d8
--- /dev/null
@@ -0,0 +1,82 @@
+package org.vanbest.xmltv;\r
+\r
+import java.io.BufferedReader;\r
+import java.io.IOException;\r
+import java.io.InputStreamReader;\r
+import java.net.MalformedURLException;\r
+import java.net.URL;\r
+import java.text.SimpleDateFormat;\r
+import java.util.Date;\r
+\r
+import javax.xml.parsers.DocumentBuilderFactory;\r
+\r
+import net.sf.json.JSON;\r
+import net.sf.json.JSONArray;\r
+import net.sf.json.JSONObject;\r
+\r
+import org.w3c.dom.Document;\r
+import org.w3c.dom.Element;\r
+\r
+public class RTL {\r
+\r
+       static final String programme_url="http://www.rtl.nl/active/epg_data/dag_data/";\r
+       static final String detail_url="http://www.rtl.nl/active/epg_data/uitzending_data/";\r
+       \r
+       int fetchErrors = 0;\r
+\r
+\r
+       protected String fetchURL(URL url) throws Exception {\r
+               StringBuffer buf = new StringBuffer();\r
+               try {\r
+                       BufferedReader reader = new BufferedReader( new InputStreamReader( url.openStream()));\r
+                       String s;\r
+                       while ((s = reader.readLine()) != null) buf.append(s);\r
+               } catch (IOException e) {\r
+                       fetchErrors++;\r
+                       throw new Exception("Error getting program data from url " + url, e);\r
+               }\r
+               return buf.toString();  \r
+       }\r
+\r
+\r
+       protected void run() throws Exception {\r
+               URL url = new URL(programme_url+"1");\r
+               String xmltext = fetchURL(url);\r
+               System.out.println(xmltext);\r
+               Document xml = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(url.openStream());\r
+               Element root = xml.getDocumentElement();\r
+               Date date = new SimpleDateFormat("yyyy-MM-dd").parse(root.getAttribute("date"));\r
+               System.out.println("date: " + date);\r
+               String json = root.getTextContent();\r
+               System.out.println("json: " + json);\r
+               JSONObject o = JSONObject.fromObject( json );\r
+               for( Object k: o.keySet()) {\r
+                       JSONArray j = (JSONArray) o.get(k);\r
+                       System.out.println(k.toString()+": "+j.toString());\r
+                       System.out.println("Channel name:" + j.get(0));\r
+                       for (int i=1; i<j.size(); i++) {\r
+                               JSONArray p = (JSONArray) j.get(i);\r
+                               String starttime = p.getString(0);\r
+                               String title = p.getString(1);\r
+                               String id = p.getString(2);\r
+                               String quark1 = p.getString(3);\r
+                               String quark2 = p.getString(4);\r
+                               System.out.println("    starttime: " + starttime);\r
+                               \r
+                       }\r
+               }\r
+       }\r
+       /**\r
+        * @param args\r
+        */\r
+       public static void main(String[] args) {\r
+               RTL rtl = new RTL();\r
+               try {\r
+                       rtl.run();\r
+               } catch (Exception e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
+\r
+}\r
index cac2a96294233b6b59ca600513f9ae23a98c6c4b..cf26f54c52ea56cc6fea3a8291b7a95c225b1b20 100644 (file)
@@ -205,7 +205,7 @@ public class TvGids {
                return p;
        }
 
-       private String fetchURL(URL url) throws Exception {
+       protected String fetchURL(URL url) throws Exception {
                Thread.sleep(config.niceMilliseconds);
                StringBuffer buf = new StringBuffer();
                try {