Fixed deviantArt "no next page found" error
The pagination buttons are gone. The "coffset" buttons for comment pages, not gallery pages. I patched this by using a link found in the HTML itself that I think is used by JavaScript to generate the pagination buttons.
This commit is contained in:
parent
f2afb840dd
commit
4cf9f09293
@ -201,14 +201,15 @@ public class DeviantartRipper extends AbstractHTMLRipper {
|
|||||||
if (isThisATest()) {
|
if (isThisATest()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
Elements nextButtons = page.select("li.next > a");
|
Elements nextButtons = page.select("link[rel=\"next\"]");
|
||||||
if (nextButtons.size() == 0) {
|
if (nextButtons.size() == 0) {
|
||||||
|
if (page.select("link[rel=\"prev\"]").size() == 0) {
|
||||||
throw new IOException("No next page found");
|
throw new IOException("No next page found");
|
||||||
}
|
} else {
|
||||||
Element a = nextButtons.first();
|
|
||||||
if (a.hasClass("disabled")) {
|
|
||||||
throw new IOException("Hit end of pages");
|
throw new IOException("Hit end of pages");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
Element a = nextButtons.first();
|
||||||
String nextPage = a.attr("href");
|
String nextPage = a.attr("href");
|
||||||
if (nextPage.startsWith("/")) {
|
if (nextPage.startsWith("/")) {
|
||||||
nextPage = "http://" + this.url.getHost() + nextPage;
|
nextPage = "http://" + this.url.getHost() + nextPage;
|
||||||
@ -306,7 +307,7 @@ public class DeviantartRipper extends AbstractHTMLRipper {
|
|||||||
if (fullSize == null) {
|
if (fullSize == null) {
|
||||||
return new String[] {Jsoup.clean(ele.html().replaceAll("\\\\n", System.getProperty("line.separator")), "", Whitelist.none(), new Document.OutputSettings().prettyPrint(false))};
|
return new String[] {Jsoup.clean(ele.html().replaceAll("\\\\n", System.getProperty("line.separator")), "", Whitelist.none(), new Document.OutputSettings().prettyPrint(false))};
|
||||||
}
|
}
|
||||||
fullSize = fullSize.substring(0,fullSize.lastIndexOf("."));
|
fullSize = fullSize.substring(0, fullSize.lastIndexOf("."));
|
||||||
return new String[] {Jsoup.clean(ele.html().replaceAll("\\\\n", System.getProperty("line.separator")), "", Whitelist.none(), new Document.OutputSettings().prettyPrint(false)),fullSize};
|
return new String[] {Jsoup.clean(ele.html().replaceAll("\\\\n", System.getProperty("line.separator")), "", Whitelist.none(), new Document.OutputSettings().prettyPrint(false)),fullSize};
|
||||||
// TODO Make this not make a newline if someone just types \n into the description.
|
// TODO Make this not make a newline if someone just types \n into the description.
|
||||||
} catch (IOException ioe) {
|
} catch (IOException ioe) {
|
||||||
|
Loading…
Reference in New Issue
Block a user