From 1c4581cdac39a4b86064040b45ea25612ee1ec86 Mon Sep 17 00:00:00 2001 From: Felix Friebe Date: Fri, 8 Nov 2019 23:08:45 -0600 Subject: [PATCH] Fixed VK Album Ripper --- .../ripme/ripper/rippers/VkRipper.java | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/VkRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/VkRipper.java index 99310dc4..0f75fe2f 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/VkRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/VkRipper.java @@ -8,6 +8,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import com.rarchives.ripme.ripper.AbstractJSONRipper; +import org.apache.commons.lang.StringEscapeUtils; import org.json.JSONArray; import org.json.JSONObject; import org.jsoup.Jsoup; @@ -62,7 +63,6 @@ public class VkRipper extends AbstractJSONRipper { Map photoIDsToURLs = new HashMap<>(); int offset = 0; while (true) { - LOGGER.info(" Retrieving " + this.url); Map postData = new HashMap<>(); postData.put("al", "1"); postData.put("offset", Integer.toString(offset)); @@ -78,6 +78,7 @@ public class VkRipper extends AbstractJSONRipper { break; } body = body.substring(body.indexOf(" elements = doc.select("a"); Set photoIDsToGet = new HashSet<>(); @@ -197,6 +198,7 @@ public class VkRipper extends AbstractJSONRipper { else { RIP_TYPE = RipType.IMAGE; } + super.rip(); } private Map getPhotoIDsToURLs(String photoID) throws IOException { @@ -217,19 +219,20 @@ public class VkRipper extends AbstractJSONRipper { .data(postData) .post(); String jsonString = doc.toString(); - jsonString = jsonString.substring(jsonString.indexOf("") + "".length()); - jsonString = jsonString.substring(0, jsonString.indexOf("")); - JSONArray json = new JSONArray(jsonString); - for (int i = 0; i < json.length(); i++) { - JSONObject jsonImage = json.getJSONObject(i); - for (String key : new String[] {"z_src", "y_src", "x_src"}) { - if (!jsonImage.has(key)) { - continue; - } - photoIDsToURLs.put(jsonImage.getString("id"), jsonImage.getString(key)); - break; + jsonString = StringEscapeUtils.unescapeJavaScript(jsonString); + jsonString = jsonString.substring(jsonString.indexOf("\"pe_type\"")); + jsonString = jsonString.substring(0, jsonString.indexOf("