Skip to content

Commit

Permalink
NsfwAlbumRipper: Add index prefix to downloads to keep albums in orde…
Browse files Browse the repository at this point in the history
…r; format, cleanup imports, cleanup log line
  • Loading branch information
metaprime committed Jan 4, 2025
1 parent ae82bef commit acd336e
Showing 1 changed file with 18 additions and 44 deletions.
Original file line number Diff line number Diff line change
@@ -1,95 +1,70 @@
package com.rarchives.ripme.ripper.rippers;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.regex.Pattern;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.jsoup.*;
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;

//https://github.com/ripmeapp/ripme/wiki/How-To-Create-A-Ripper-for-HTML-websites
public class NsfwAlbumRipper extends AbstractHTMLRipper
{
public class NsfwAlbumRipper extends AbstractHTMLRipper {
private static final String HOST = "nsfwalbum";
private static final String DOMAIN = "nsfwalbum.com";

public NsfwAlbumRipper(URL url) throws IOException
{
public NsfwAlbumRipper(URL url) throws IOException {
super(url);
}

@Override
public String getHost()
{
public String getHost() {
return HOST;
}

@Override
public String getDomain()
{
public String getDomain() {
return DOMAIN;
}

@Override
public String getGID(URL url) throws MalformedURLException
{
public String getGID(URL url) throws MalformedURLException {
Pattern pattern = Pattern.compile("(?!https:\\/\\/nsfwalbum.com\\/album\\/)\\d+");
Matcher matcher = pattern.matcher(url.toExternalForm());

if (matcher.find())
{
if (matcher.find()) {
return matcher.group();
}

throw new MalformedURLException("Expected https://nsfwalbum.com/album/albumid URL format nsfwalbum.com/album/albumid - got " + url + " instead.");
}

@Override
public Document getFirstPage() throws IOException
{
return Http.url(url).get();
throw new MalformedURLException(
"Expected nsfwalbum.com URL format nsfwalbum.com/album/albumid - got " + url + " instead.");
}

@Override
public List<String> getURLsFromPage(Document doc)
{
public List<String> getURLsFromPage(Document doc) {
List<String> results = new ArrayList<String>();

Elements imgs = doc.select(".album img");

System.out.println(imgs.size() + " elements (thumbnails) found.");

for (Element img : imgs)
{
for (Element img : imgs) {
String thumbURL = img.attr("data-src");
String fullResURL = null;

if (thumbURL.contains("imgspice.com"))
{
if (thumbURL.contains("imgspice.com")) {
fullResURL = thumbURL.replace("_t.jpg", ".jpg");
}
else if (thumbURL.contains("imagetwist.com"))
{
} else if (thumbURL.contains("imagetwist.com")) {
fullResURL = thumbURL.replace("/th/", "/i/");
}
else if (thumbURL.contains("pixhost.com"))
{
} else if (thumbURL.contains("pixhost.com")) {
fullResURL = thumbURL.replace("https://t", "https://img");
fullResURL = fullResURL.replace("/thumbs/", "/images/");
}
else if (thumbURL.contains("imx.to"))
{
} else if (thumbURL.contains("imx.to")) {
fullResURL = thumbURL.replace("/t/", "/i/");
}

Expand All @@ -101,8 +76,7 @@ else if (thumbURL.contains("imx.to"))
}

@Override
public void downloadURL(URL url, int index)
{
addURLToDownload(url);
public void downloadURL(URL url, int index) {
addURLToDownload(url, getPrefix(index));
}
}
}

0 comments on commit acd336e

Please sign in to comment.