From 810ef556b1e0f42d2783da5ba5dc441a68089fe9 Mon Sep 17 00:00:00 2001 From: cyian-1756 Date: Wed, 29 Mar 2017 04:08:15 -0400 Subject: [PATCH 1/6] added basic support for Jagodibuja.com --- .../ripper/rippers/JagodibujaRipper.java | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java new file mode 100644 index 00000000..20ad48d1 --- /dev/null +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java @@ -0,0 +1,83 @@ +package com.rarchives.ripme.ripper.rippers; + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; + +import com.rarchives.ripme.ripper.AbstractHTMLRipper; +import com.rarchives.ripme.utils.Http; + +public class JagodibujaRipper extends AbstractHTMLRipper { + + public JagodibujaRipper(URL url) throws IOException { + super(url); + } + @Override + public String getHost() { + return "jagodibuja"; + } + + @Override + public String getDomain() { + return "jagodibuja.com"; + } + + @Override + public String getGID(URL url) throws MalformedURLException { + Pattern p = Pattern.compile("^https?://www.jagodibuja.com/webcomic-living-with-hipstergirl-and-gamergirl-english/([a-zA-Z0-9_\\-]*)/?"); + Matcher m = p.matcher(url.toExternalForm()); + if (m.matches()) { + return "living-with-hipstergirl-and-gamergirl"; + } + throw new MalformedURLException("Expected jagodibuja.com gallery formats hwww.jagodibuja.com/webcomic-living-with-hipstergirl-and-gamergirl-english/COMIC/ got " + url + " instead"); + } + + @Override + public Document getFirstPage() throws IOException { + // "url" is an instance field of the superclass + return Http.url(url).get(); + } + + @Override + public Document getNextPage(Document doc) throws IOException { + // Find next page + String nextPage = ""; + Element elem = null; + elem = doc.select("div.entry-attachment > div.attachment > a").first(); + if (elem == null) { + throw new IOException("No more pages"); + } + nextPage = elem.attr("href"); + if (nextPage == "") { + throw new IOException("No more pages"); + } + else { + return Http.url(nextPage).get(); + } + } + + @Override + public List getURLsFromPage(Document doc) { + List result = new ArrayList(); + Element elem = doc.select("span.full-size-link > a").first(); + result.add(elem.attr("href")); + return result; + } + + @Override + public void downloadURL(URL url, int index) { + sleep(500); + addURLToDownload(url, getPrefix(index)); + } + + + } From d241be1898a66f74a902c45dc7f1b0a517f485c9 Mon Sep 17 00:00:00 2001 From: cyian-1756 Date: Wed, 29 Mar 2017 08:04:19 -0400 Subject: [PATCH 2/6] Jagodibuja now rips all comics --- .../ripper/rippers/JagodibujaRipper.java | 51 +++++++++++-------- 1 file changed, 30 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java index 20ad48d1..95bec85a 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java @@ -33,12 +33,12 @@ public class JagodibujaRipper extends AbstractHTMLRipper { @Override public String getGID(URL url) throws MalformedURLException { - Pattern p = Pattern.compile("^https?://www.jagodibuja.com/webcomic-living-with-hipstergirl-and-gamergirl-english/([a-zA-Z0-9_\\-]*)/?"); + Pattern p = Pattern.compile("^https?://www.jagodibuja.com/webcomic-living-with-hipstergirl-and-gamergirl-english/?"); Matcher m = p.matcher(url.toExternalForm()); if (m.matches()) { return "living-with-hipstergirl-and-gamergirl"; } - throw new MalformedURLException("Expected jagodibuja.com gallery formats hwww.jagodibuja.com/webcomic-living-with-hipstergirl-and-gamergirl-english/COMIC/ got " + url + " instead"); + throw new MalformedURLException("Expected jagodibuja.com gallery formats hwww.jagodibuja.com/webcomic-living-with-hipstergirl-and-gamergirl-english/ got " + url + " instead"); } @Override @@ -47,29 +47,38 @@ public class JagodibujaRipper extends AbstractHTMLRipper { return Http.url(url).get(); } - @Override - public Document getNextPage(Document doc) throws IOException { - // Find next page - String nextPage = ""; - Element elem = null; - elem = doc.select("div.entry-attachment > div.attachment > a").first(); - if (elem == null) { - throw new IOException("No more pages"); - } - nextPage = elem.attr("href"); - if (nextPage == "") { - throw new IOException("No more pages"); - } - else { - return Http.url(nextPage).get(); - } - } + // @Override + // public Document getNextPage(Document doc) throws IOException { + // // Find next page + // String nextPage = ""; + // Element elem = null; + // elem = doc.select("div.entry-attachment > div.attachment > a").first(); + // if (elem == null) { + // throw new IOException("No more pages"); + // } + // nextPage = elem.attr("href"); + // if (nextPage == "") { + // throw new IOException("No more pages"); + // } + // else { + // return Http.url(nextPage).get(); + // } + // } @Override public List getURLsFromPage(Document doc) { List result = new ArrayList(); - Element elem = doc.select("span.full-size-link > a").first(); - result.add(elem.attr("href")); + for (Element comicPageUrl : doc.select("div.gallery-icon > a")) { + try { + sleep(500) + Document comicPage = Http.url(comicPageUrl.attr("href")).get(); + Element elem = comicPage.select("span.full-size-link > a").first(); + result.add(elem.attr("href")); + } + catch(IOException e) { + logger.info("Error loading " + comicPageUrl); + } + } return result; } From a953cc39b097921e3a4833b096aead15deb11c4c Mon Sep 17 00:00:00 2001 From: cyian-1756 Date: Tue, 25 Apr 2017 06:57:44 -0400 Subject: [PATCH 3/6] Added missing ; --- .../com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java index 95bec85a..c77c6119 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java @@ -70,9 +70,10 @@ public class JagodibujaRipper extends AbstractHTMLRipper { List result = new ArrayList(); for (Element comicPageUrl : doc.select("div.gallery-icon > a")) { try { - sleep(500) + sleep(500); Document comicPage = Http.url(comicPageUrl.attr("href")).get(); Element elem = comicPage.select("span.full-size-link > a").first(); + logger.info("Got link " + elem.attr("href")); result.add(elem.attr("href")); } catch(IOException e) { From 1849fdba2d5a20428e6ff59c218d71d4a2aa367f Mon Sep 17 00:00:00 2001 From: cyian-1756 Date: Tue, 25 Apr 2017 07:10:40 -0400 Subject: [PATCH 4/6] added ASAP ripping --- .../rarchives/ripme/ripper/rippers/JagodibujaRipper.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java index c77c6119..962cb162 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java @@ -74,7 +74,14 @@ public class JagodibujaRipper extends AbstractHTMLRipper { Document comicPage = Http.url(comicPageUrl.attr("href")).get(); Element elem = comicPage.select("span.full-size-link > a").first(); logger.info("Got link " + elem.attr("href")); - result.add(elem.attr("href")); + try { + addURLToDownload(new URL(elem.attr("href")), ""); + } + catch(MalformedURLException e) { + logger.warn("Malformed URL"); + e.printStackTrace(); + } + // result.add(elem.attr("href")); } catch(IOException e) { logger.info("Error loading " + comicPageUrl); From 17b4f5fc325ebe61f479fb5b27f0769037c31390 Mon Sep 17 00:00:00 2001 From: cyian-1756 Date: Tue, 25 Apr 2017 07:31:04 -0400 Subject: [PATCH 5/6] Now cna rip all comics from jagodibuja.com --- .../ripper/rippers/JagodibujaRipper.java | 30 ++++--------------- 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java index 962cb162..30443a84 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java @@ -33,12 +33,12 @@ public class JagodibujaRipper extends AbstractHTMLRipper { @Override public String getGID(URL url) throws MalformedURLException { - Pattern p = Pattern.compile("^https?://www.jagodibuja.com/webcomic-living-with-hipstergirl-and-gamergirl-english/?"); + Pattern p = Pattern.compile("^https?://www.jagodibuja.com/([a-zA-Z0-9_-]*)/?"); Matcher m = p.matcher(url.toExternalForm()); if (m.matches()) { - return "living-with-hipstergirl-and-gamergirl"; + return m.group(1); } - throw new MalformedURLException("Expected jagodibuja.com gallery formats hwww.jagodibuja.com/webcomic-living-with-hipstergirl-and-gamergirl-english/ got " + url + " instead"); + throw new MalformedURLException("Expected jagodibuja.com gallery formats hwww.jagodibuja.com/Comic name/ got " + url + " instead"); } @Override @@ -47,24 +47,6 @@ public class JagodibujaRipper extends AbstractHTMLRipper { return Http.url(url).get(); } - // @Override - // public Document getNextPage(Document doc) throws IOException { - // // Find next page - // String nextPage = ""; - // Element elem = null; - // elem = doc.select("div.entry-attachment > div.attachment > a").first(); - // if (elem == null) { - // throw new IOException("No more pages"); - // } - // nextPage = elem.attr("href"); - // if (nextPage == "") { - // throw new IOException("No more pages"); - // } - // else { - // return Http.url(nextPage).get(); - // } - // } - @Override public List getURLsFromPage(Document doc) { List result = new ArrayList(); @@ -81,7 +63,7 @@ public class JagodibujaRipper extends AbstractHTMLRipper { logger.warn("Malformed URL"); e.printStackTrace(); } - // result.add(elem.attr("href")); + result.add(elem.attr("href")); } catch(IOException e) { logger.info("Error loading " + comicPageUrl); @@ -92,8 +74,8 @@ public class JagodibujaRipper extends AbstractHTMLRipper { @Override public void downloadURL(URL url, int index) { - sleep(500); - addURLToDownload(url, getPrefix(index)); + // sleep(500); + // addURLToDownload(url, getPrefix(index)); } From dbb926824a0630d8bfba83b0ebd96071de5461f6 Mon Sep 17 00:00:00 2001 From: metaprime Date: Tue, 25 Apr 2017 10:09:00 -0700 Subject: [PATCH 6/6] jagodibuja: fixed formatting --- .../ripper/rippers/JagodibujaRipper.java | 98 +++++++++---------- 1 file changed, 48 insertions(+), 50 deletions(-) diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java index 30443a84..13ff0d30 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/JagodibujaRipper.java @@ -19,64 +19,62 @@ import com.rarchives.ripme.utils.Http; public class JagodibujaRipper extends AbstractHTMLRipper { public JagodibujaRipper(URL url) throws IOException { - super(url); + super(url); } - @Override - public String getHost() { - return "jagodibuja"; - } - @Override - public String getDomain() { - return "jagodibuja.com"; - } + @Override + public String getHost() { + return "jagodibuja"; + } - @Override - public String getGID(URL url) throws MalformedURLException { - Pattern p = Pattern.compile("^https?://www.jagodibuja.com/([a-zA-Z0-9_-]*)/?"); - Matcher m = p.matcher(url.toExternalForm()); - if (m.matches()) { - return m.group(1); - } - throw new MalformedURLException("Expected jagodibuja.com gallery formats hwww.jagodibuja.com/Comic name/ got " + url + " instead"); - } + @Override + public String getDomain() { + return "jagodibuja.com"; + } - @Override - public Document getFirstPage() throws IOException { - // "url" is an instance field of the superclass - return Http.url(url).get(); + @Override + public String getGID(URL url) throws MalformedURLException { + Pattern p = Pattern.compile("^https?://www.jagodibuja.com/([a-zA-Z0-9_-]*)/?"); + Matcher m = p.matcher(url.toExternalForm()); + if (m.matches()) { + return m.group(1); } + throw new MalformedURLException("Expected jagodibuja.com gallery formats hwww.jagodibuja.com/Comic name/ got " + url + " instead"); + } - @Override - public List getURLsFromPage(Document doc) { - List result = new ArrayList(); - for (Element comicPageUrl : doc.select("div.gallery-icon > a")) { + @Override + public Document getFirstPage() throws IOException { + // "url" is an instance field of the superclass + return Http.url(url).get(); + } + + @Override + public List getURLsFromPage(Document doc) { + List result = new ArrayList(); + for (Element comicPageUrl : doc.select("div.gallery-icon > a")) { + try { + sleep(500); + Document comicPage = Http.url(comicPageUrl.attr("href")).get(); + Element elem = comicPage.select("span.full-size-link > a").first(); + logger.info("Got link " + elem.attr("href")); try { - sleep(500); - Document comicPage = Http.url(comicPageUrl.attr("href")).get(); - Element elem = comicPage.select("span.full-size-link > a").first(); - logger.info("Got link " + elem.attr("href")); - try { - addURLToDownload(new URL(elem.attr("href")), ""); - } - catch(MalformedURLException e) { - logger.warn("Malformed URL"); - e.printStackTrace(); - } - result.add(elem.attr("href")); - } - catch(IOException e) { - logger.info("Error loading " + comicPageUrl); + addURLToDownload(new URL(elem.attr("href")), ""); + } catch (MalformedURLException e) { + logger.warn("Malformed URL"); + e.printStackTrace(); } + result.add(elem.attr("href")); + } catch (IOException e) { + logger.info("Error loading " + comicPageUrl); } - return result; } - - @Override - public void downloadURL(URL url, int index) { - // sleep(500); - // addURLToDownload(url, getPrefix(index)); - } - - + return result; } + + @Override + public void downloadURL(URL url, int index) { + // sleep(500); + // addURLToDownload(url, getPrefix(index)); + } + +}