eb agic java-WebMagic不支持官方的xpath表达式吗?为什么我的代码会报错?求高人指点

问题描述

WebMagic不支持官方的xpath表达式吗?为什么我的代码会报错?求高人指点

我想获取节点的父节点的link,我按官方文档写出如下表达式,为什么成员运行会抛出异常呢?

page.getHtml().xpath("//img/parent::a").links().all();

异常信息如下:

org.jsoup.select.Selector$SelectorParseException: Could not parse query 'parent::*': unexpected token at '::*'
at us.codecraft.xsoup.XPathParser.findElements(XPathParser.java:141)
at us.codecraft.xsoup.XPathParser.parse(XPathParser.java:51)
at us.codecraft.xsoup.XPathParser.parse(XPathParser.java:375)
at us.codecraft.xsoup.XPathParser.combinator(XPathParser.java:85)
at us.codecraft.xsoup.XPathParser.parse(XPathParser.java:49)
at us.codecraft.xsoup.XPathParser.parse(XPathParser.java:375)
at us.codecraft.xsoup.Xsoup.compile(Xsoup.java:20)
at us.codecraft.webmagic.selector.XpathSelector.(XpathSelector.java:21)
at us.codecraft.webmagic.selector.Selectors.xpath(Selectors.java:32)
at us.codecraft.webmagic.selector.HtmlNode.xpath(HtmlNode.java:42)
at com.zg.crawler.amazon.core.url.ProductUrlProcessor.process(ProductUrlProcessor.java:60)
at us.codecraft.webmagic.Spider.processRequest(Spider.java:420)
at us.codecraft.webmagic.Spider$1.run(Spider.java:322)
at us.codecraft.webmagic.thread.CountableThreadPool$1.run(CountableThreadPool.java:74)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

解决方案

http://forums.codeguru.com/showthread.php?546883-JSoup-and-XSoup-quot-Couldn-t-parse-query-quot

时间: 2025-01-19 10:38:58

eb agic java-WebMagic不支持官方的xpath表达式吗?为什么我的代码会报错?求高人指点的相关文章

java-有谁用疯狂JAVA讲义么?为什么里面的 Lambda的代码都会报错

问题描述 有谁用疯狂JAVA讲义么?为什么里面的 Lambda的代码都会报错 有谁用疯狂JAVA讲义么?为什么里面的 Lambda的代码都会报错 解决方案 最后找到了方法,直接在cmd窗口中,运行Java 类名,就可以正常运行,也不会报错,MyEclipse 和 eclipse 运行都不行的 解决方案二: 可能是你的JDK版本跟他的不同,有些代码需要JDK1.7的,所以建议更新一下JDK 解决方案三: 是不是没导入相应的包... 解决方案四: 是不是没导入相应的包... 解决方案五: jdk8支

树形 递归-java 递归报错 求大神帮忙

问题描述 java 递归报错 求大神帮忙 private List<Post> getPostLower(List<Post> PostTops){ List<Post> postAll=new ArrayList<Post>(); // 上级 for(Post post:PostTops){ //查询到下级 List<Post> posts=basService.queryPostByParentId(post.getPostId()); //

dalvik-在做xml与java实体类的转换时,导入的jar包都会让eclipse报错

问题描述 在做xml与java实体类的转换时,导入的jar包都会让eclipse报错 我开始用XStream,后来又根据网上的代码导入javax.xml.bind包来进行解析,但是这两种都会报错:Conversion to Dalvik format failed with error 1,我百了一下,也不是很明白,还请大家解答,先谢谢各位了.. 解决方案 可以试下这个方案http://dev.wo.com.cn/docportal/doc_queryMdocDetail.action?mdoc

java 执行 sql 文件报错 求大神帮忙解决 急急急!!!!

问题描述 java 执行 sql 文件报错 求大神帮忙解决 急急急!!!! sql文件里边的内容 /* Navicat MySQL Data Transfer Source Server : localhost_3306 Source Server Version : 50096 Source Host : localhost:3306 Source Database : cemscenter1 Target Server Type : MYSQL Target Server Version :

java代码编程报错,求原因。

问题描述 java代码编程报错,求原因. 把第5行代码改为Outer2 a = new Outer2() ;程序报错:Exception in thread "main" java.lang.StackOverflowError:在本类中要实例化该对象,必须使用this替代吗? package comm.test; class Outer2 { private String title="HELLo world"; Outer2 a = this; //第5行 pu

java 字符串 报错-java程序在eclipse运行正确,在牛客网测试界面运行报错

问题描述 java程序在eclipse运行正确,在牛客网测试界面运行报错 在eclipse可以正常运行,在牛客网的测试里报错:"运行错误:请检查是否存在数组越界非法访问,野指针乱访问,空指针乱访问等情况." 题目:连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组: ?长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 输入例子: abc 123456789 输出例子: abc00000 12345678 90000000 import java.util.Sca

关于采用udp文件传输的C/S框架,支持断点续传,报错求分析

问题描述 客户端packagecstrans;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.io.BufferedInputStream;importjava.io.DataInputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.Rando

初学Java,到类的带参方法这里完全卡住了,该怎么办?求高人指点!

问题描述 如题,本人刚刚学习Java,到面向对象这里就卡住了,然后继续到传参,现在根本是卡死了,思路很少清晰,哪位高手能够指点我一下咯! 解决方案 解决方案二:多练习,按照例子一步步来.解决方案三:面向对象理解起来还行如果很好的运用它没有几年的锤炼是不行的这问题再怎么说也不行看你个人理解了重要的是不要披着面向过程的思想去理解面向对象解决方案四:多看代码解决方案五:关于面向对象的理解,建议楼主在百度视频里输入"java面向对象",里面好多讲解的都不错,鉴于楼主的情况,建议下载视频教程解决

按照官方的视屏集成的,但是验证账号就报错

问题描述 2015-12-21 10:56:34:999 HuanxinTest[1840:2503] begin login username:fdd--password:123456--2015-12-21 10:56:35:069 HuanxinTest[1840:2503] EMConfigManager::fetchTokenFromServerWithError: --- error: Server timeout.2015-12-21 10:56:35:070 HuanxinTes