From da8d6541f55cfefab56f074d22d73a2cac9799c9 Mon Sep 17 00:00:00 2001 From: cyian-1756 Date: Thu, 8 Mar 2018 07:33:35 -0500 Subject: [PATCH] Fixed xvideos ripper --- .../ripper/rippers/video/XvideosRipper.java | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/video/XvideosRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/video/XvideosRipper.java index 06841ce9..4f2bac97 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/video/XvideosRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/video/XvideosRipper.java @@ -57,19 +57,21 @@ public class XvideosRipper extends VideoRipper { public void rip() throws IOException { logger.info(" Retrieving " + this.url); Document doc = Http.url(this.url).get(); - Elements embeds = doc.select("embed"); - if (embeds.size() == 0) { - throw new IOException("Could not find Embed code at " + url); - } - Element embed = embeds.get(0); - String vars = embed.attr("flashvars"); - for (String var : vars.split("&")) { - if (var.startsWith("flv_url=")) { - String vidUrl = var.substring("flv_url=".length()); - vidUrl = URLDecoder.decode(vidUrl, "UTF-8"); - addURLToDownload(new URL(vidUrl), HOST + "_" + getGID(this.url)); + Elements scripts = doc.select("script"); + for (Element e : scripts) { + if (e.html().contains("html5player.setVideoUrlHigh")) { + logger.info("Found the right script"); + String[] lines = e.html().split("\n"); + for (String line: lines) { + if (line.contains("html5player.setVideoUrlHigh")) { + String videoURL = line.replaceAll("\t", "").replaceAll("html5player.setVideoUrlHigh\\(", "").replaceAll("\'", "").replaceAll("\\);", ""); + addURLToDownload(new URL(videoURL), HOST + "_" + getGID(this.url)); + waitForThreads(); + return; + } + } } } - waitForThreads(); + throw new IOException("Unable to find video url at " + this.url.toExternalForm()); } } \ No newline at end of file