* updated Anidb xpaths
This commit is contained in:
parent
19b99132ad
commit
6bcff92763
|
@ -46,17 +46,17 @@ public class AnidbClient extends EpisodeListClient {
|
||||||
|
|
||||||
Document dom = HtmlUtil.getHtmlDocument(getSearchUrl(searchterm));
|
Document dom = HtmlUtil.getHtmlDocument(getSearchUrl(searchterm));
|
||||||
|
|
||||||
List<Node> nodes = XPathUtil.selectNodes("//TABLE[@class='anime_list']//TR//TD//ancestor::TR", dom);
|
List<Node> nodes = XPathUtil.selectNodes("//TABLE[@class='animelist']//TR/TD/ancestor::TR", dom);
|
||||||
|
|
||||||
LinkedHashMap<String, URL> searchResults = new LinkedHashMap<String, URL>(nodes.size());
|
LinkedHashMap<String, URL> searchResults = new LinkedHashMap<String, URL>(nodes.size());
|
||||||
|
|
||||||
if (!nodes.isEmpty())
|
if (!nodes.isEmpty())
|
||||||
for (Node node : nodes) {
|
for (Node node : nodes) {
|
||||||
String type = XPathUtil.selectString("./TD[3]", node);
|
String type = XPathUtil.selectString("./TD[contains(@class,'type')]", node);
|
||||||
|
|
||||||
// we only want shows
|
// we only want shows
|
||||||
if (type.equalsIgnoreCase("tv series")) {
|
if (type.equalsIgnoreCase("tv series")) {
|
||||||
Node titleNode = XPathUtil.selectNode("./TD[2]/A", node);
|
Node titleNode = XPathUtil.selectNode("./TD[@class='name']/A", node);
|
||||||
|
|
||||||
String title = XPathUtil.selectString(".", titleNode);
|
String title = XPathUtil.selectString(".", titleNode);
|
||||||
String href = XPathUtil.selectString("@href", titleNode);
|
String href = XPathUtil.selectString("@href", titleNode);
|
||||||
|
@ -107,8 +107,8 @@ public class AnidbClient extends EpisodeListClient {
|
||||||
f.setGroupingUsed(false);
|
f.setGroupingUsed(false);
|
||||||
|
|
||||||
for (Node node : nodes) {
|
for (Node node : nodes) {
|
||||||
String number = XPathUtil.selectString("./TD[1]/A", node);
|
String number = XPathUtil.selectString("./TD[contains(@class,'id')]/A", node);
|
||||||
String title = XPathUtil.selectString("./TD[2]/LABEL/text()", node);
|
String title = XPathUtil.selectString("./TD[@class='title']/LABEL/text()", node);
|
||||||
|
|
||||||
if (title.startsWith("recap"))
|
if (title.startsWith("recap"))
|
||||||
title = title.replaceFirst("recap", "");
|
title = title.replaceFirst("recap", "");
|
||||||
|
|
|
@ -5,7 +5,6 @@ package net.sourceforge.tuned;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import javax.xml.xpath.XPath;
|
|
||||||
import javax.xml.xpath.XPathConstants;
|
import javax.xml.xpath.XPathConstants;
|
||||||
import javax.xml.xpath.XPathExpression;
|
import javax.xml.xpath.XPathExpression;
|
||||||
import javax.xml.xpath.XPathExpressionException;
|
import javax.xml.xpath.XPathExpressionException;
|
||||||
|
@ -65,10 +64,9 @@ public class XPathUtil {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static XPath xpathObject = XPathFactory.newInstance().newXPath();
|
|
||||||
|
|
||||||
|
private static XPathExpression getXPath(String xpath) throws XPathExpressionException {
|
||||||
private static synchronized XPathExpression getXPath(String xpath) throws XPathExpressionException {
|
return XPathFactory.newInstance().newXPath().compile(xpath);
|
||||||
return xpathObject.compile(xpath);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue