【发布时间】:2016-01-26 18:09:52
【问题描述】:
我正在使用 Xsoup。
这是代码:
private void updateSeed(Document document) {
mappingParser
.setSeed(Xsoup.compile("//div[@class='pgCell'][last()]/a/@href")
.evaluate(document).get());
}
当我执行上一个函数时,我得到以下异常:
Exception in thread "main" org.jsoup.select.Selector$SelectorParseException: Could not parse query 'div[@class='pgCell'][last()]': unexpected token at 'last()'
at us.codecraft.xsoup.xevaluator.XPathParser.byFunction(XPathParser.java:225)
at us.codecraft.xsoup.xevaluator.XPathParser.consumePredicates(XPathParser.java:202)
at us.codecraft.xsoup.xevaluator.XPathParser.findElements(XPathParser.java:138)
at us.codecraft.xsoup.xevaluator.XPathParser.parse(XPathParser.java:51)
at us.codecraft.xsoup.xevaluator.XPathParser.parse(XPathParser.java:375)
at us.codecraft.xsoup.xevaluator.XPathParser.combinator(XPathParser.java:85)
at us.codecraft.xsoup.xevaluator.XPathParser.parse(XPathParser.java:49)
at us.codecraft.xsoup.xevaluator.XPathParser.parse(XPathParser.java:375)
at us.codecraft.xsoup.Xsoup.compile(Xsoup.java:27)
at com.qannoufit.test.CrawlerController.updateSeed(CrawlerController.java:102)
at com.qannoufit.test.CrawlerController.populateShouldParse(CrawlerController.java:91)
at com.qannoufit.test.CrawlerController.startCrawling(CrawlerController.java:60)
at com.qannoufit.test.Main.main(Main.java:12)
【问题讨论】:
-
似乎您不能使用
last(),因为根据xsoup GitHub Readme,xsoup 未在支持的xpath 语法中列出它