From 40b0c50b03d893981d39f20c13fbe12cc910cbd9 Mon Sep 17 00:00:00 2001 From: Nicklas Wiegandt Date: Sat, 25 Feb 2017 01:16:31 +0100 Subject: [PATCH 1/3] Fixing #97 - The missing Sendung was only listed as a m3u8 file and the quality "auto". So i added the needed pattern to find m3u8 files. --- src/main/java/mServer/crawler/sender/MediathekArd.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/mServer/crawler/sender/MediathekArd.java b/src/main/java/mServer/crawler/sender/MediathekArd.java index 77133bb71..1b6140f7c 100644 --- a/src/main/java/mServer/crawler/sender/MediathekArd.java +++ b/src/main/java/mServer/crawler/sender/MediathekArd.java @@ -340,7 +340,6 @@ private void filmSuchen2(String urlFilm_, String thema, String titel, long dauer if (seite2.indexOf("quality\":3") >= 0) { if (liste.size() <= 0) { // Fehler -// System.out.println("Test"); } } for (String s : liste) { @@ -352,6 +351,7 @@ private void filmSuchen2(String urlFilm_, String thema, String titel, long dauer liste.clear(); seite2.extractList("\"_quality\":2", "\"_stream\":\"", "\"", liste); + seite2.extractList("_quality\":\"auto\",\"_server\":\"\",\"_cdn\":\"flashls\",\"_stream\":\"", "\"", liste); seite2.extractList("\"_quality\":2", "\"_stream\":[\"", "\"", liste); for (String s : liste) { if (s.startsWith("http")) { From fa7fa49ae4e71ed549282ac004054963056905d9 Mon Sep 17 00:00:00 2001 From: "W.Xaver" Date: Sat, 25 Feb 2017 13:54:12 +0100 Subject: [PATCH 2/3] NDR --- .../mServer/crawler/sender/MediathekNdr.java | 47 +++++++++---------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/src/main/java/mServer/crawler/sender/MediathekNdr.java b/src/main/java/mServer/crawler/sender/MediathekNdr.java index 0f0d34d8b..46dd89c3b 100644 --- a/src/main/java/mServer/crawler/sender/MediathekNdr.java +++ b/src/main/java/mServer/crawler/sender/MediathekNdr.java @@ -27,9 +27,9 @@ import mSearch.daten.DatenFilm; import mSearch.tool.Log; import mSearch.tool.MSStringBuilder; +import mServer.crawler.CrawlerTool; import mServer.crawler.FilmeSuchen; import mServer.crawler.GetUrl; -import mServer.crawler.CrawlerTool; public class MediathekNdr extends MediathekReader implements Runnable { @@ -298,7 +298,7 @@ void filmSuchen_1(String strUrlThema, String thema, String titel, String filmWeb // http://media.ndr.de/progressive/2012/0820/TV-20120820-2300-0701.hi.mp4 // rtmpt://cp160844.edgefcs.net/ondemand/mp4:flashmedia/streams/ndr/2012/0820/TV-20120820-2300-0701.hq.mp4 - final String MUSTER_URL = "3: {src:'http://"; + final String MUSTER_URL = "itemprop=\"contentUrl\" content=\"https://mediandr-a"; seite2 = getUrl.getUri_Utf(SENDERNAME, filmWebsite, seite2, "strUrlThema: " + strUrlThema); String description = extractDescription(seite2); String[] keywords = extractKeywords(seite2); @@ -313,17 +313,21 @@ void filmSuchen_1(String strUrlThema, String thema, String titel, String filmWeb int pos2; String url; try { - if ((pos1 = seite2.indexOf(MUSTER_URL)) != -1) { + // src="/fernsehen/hallondsopplatt162-player_image-2c09ece0-0508-49bf-b4d6-afff2be2115c_theme-ndrde.html" + // http://www.ndr.de/fernsehen/hallondsopplatt162-ppjson_image-2c09ece0-0508-49bf-b4d6-afff2be2115c.json + // id="pp_hallondsopplatt162" + String json = seite2.extract("-player_image-", "_"); + String pp = seite2.extract("id=\"pp_", "\""); + if (!json.isEmpty() && !pp.isEmpty()) { + json = "http://www.ndr.de/fernsehen/" + pp + "-ppjson_image-" + json + ".json"; + filmSuchen_2(strUrlThema, thema, titel, filmWebsite, json, datum, zeit, durationInSeconds, description, subtitle); + + } else if ((pos1 = seite2.indexOf(MUSTER_URL)) != -1) { pos1 += MUSTER_URL.length(); - if ((pos2 = seite2.indexOf("'", pos1)) != -1) { + if ((pos2 = seite2.indexOf("\"", pos1)) != -1) { url = seite2.substring(pos1, pos2); if (!url.equals("")) { - url = "http://" + url; - if (url.contains("http://media.ndr.de/progressive")) { - if (url.contains("hi.mp4")) { - url = url.replace("hi.mp4", "hq.mp4"); - } - } + url = "http://mediandr-a" + url; if (thema.equals("")) { thema = seite2.extract("

", "
", "<"); if (thema.contains("|")) { @@ -352,20 +356,9 @@ void filmSuchen_1(String strUrlThema, String thema, String titel, String filmWeb Log.errorLog(623657941, "keine URL: " + filmWebsite); } } - } else { -// MSLog.fehlerMeldung(698970145, "keine Url: " + filmWebsite); - // src="/fernsehen/hallondsopplatt162-player_image-2c09ece0-0508-49bf-b4d6-afff2be2115c_theme-ndrde.html" - // http://www.ndr.de/fernsehen/hallondsopplatt162-ppjson_image-2c09ece0-0508-49bf-b4d6-afff2be2115c.json - // id="pp_hallondsopplatt162" - String json = seite2.extract("-player_image-", "_"); - String pp = seite2.extract("id=\"pp_", "\""); - if (json.isEmpty() || pp.isEmpty()) { - Log.errorLog(915230214, "auch keine json-Url: " + filmWebsite); - } else { - json = "http://www.ndr.de/fernsehen/" + pp + "-ppjson_image-" + json + ".json"; - filmSuchen_2(strUrlThema, thema, titel, filmWebsite, json, datum, zeit, durationInSeconds, description, subtitle); - } + } else { + Log.errorLog(915230214, "auch keine Url: " + filmWebsite); } } catch (Exception ex) { Log.errorLog(699830157, ex); @@ -377,7 +370,7 @@ void filmSuchen_2(String strUrlThema, String thema, String titel, String filmWeb seite3 = getUrl.getUri_Utf(SENDERNAME, json, seite3, "strUrlThema: " + strUrlThema); String url_hd = "", url_xl = "", url_m = ""; - seite3.extractList("", "", "\"src\": \"http://media.ndr.de", "\"", "http://media.ndr.de", liste); + seite3.extractList("", "", "\"src\": \"https://mediandr", "\"", "https://mediandr", liste); for (String s : liste) { if (s.endsWith(".hd.mp4")) { @@ -394,6 +387,12 @@ void filmSuchen_2(String strUrlThema, String thema, String titel, String filmWeb url_m = ""; } + final String http = "http:"; + final String https = "https:"; + url_hd = url_hd.replaceFirst(https, http); + url_xl = url_xl.replaceFirst(https, http); + url_m = url_m.replaceFirst(https, http); + if (subtitle.isEmpty()) { subtitle = seite3.extract("\"tracks\":", "\"/", "\"", "http://www.ndr.de/"); } From d03a96f088e65b3078e1f42bfd78720a30b63727 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20Finkh=C3=A4user?= Date: Sat, 25 Feb 2017 22:29:12 +0100 Subject: [PATCH 3/3] Version auf 2.7.4 angehoben. --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 66fbd66f7..c3c777b50 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ import org.apache.tools.ant.filters.ReplaceTokens sourceCompatibility = 1.8 targetCompatibility = 1.8 group = 'de.mediathekview' -version = '2.7.3' +version = '2.7.4' def jarName = 'MServer.jar' def mainClass = 'mServer.Main'