详解java爬虫jsoup解析多空格class数据
在使用jsoup爬取其他网站数据的时候,发现class是带空格的多选择,如果直接使用doc.getElementsByClass(“class的值”),这种方法获取不到想要的数据。
1、问题描述:
在使用jsoup爬取其他网站数据的时候,发现class是带空格的多选择,如果直接使用doc.getElementsByClass(“class的值”),这种方法获取不到想要的数据。
爬取网站页面结构如下:
2、其中文章列表的div为:<div class="am-cf inner_li inner_li_abtest"></div>
我们可以看到其class的值为:am-cf inner_li inner_li_abtest。带空格的。多值的。
如果我们还是用getElementsByClass这个方法获取的话,是获取不到的。eclipse中断点如下:
3、可以看到获取的值的长度size=0。没有获取到数据。
经过各方搜索,发现解决方案:使用的不是getElementsByClass方法,可以使用其他方法。
先上成功后截图:
4、我们可以看到数据的长度size=20了。说明获取到数据了。
下面讲解select方法使用:
Elements org.jsoup.nodes.Element.select(String cssQuery)
5、样式选择器。
查看源码:
6、我们知道这个可以多个。
在看看我们案例中使用的是:div.am-cf.inner_li.inner_li_abtest。为什么要这么写呢?
查看需要爬取文章的页面结构:
总结:以上就是关于java爬虫jsoup解析多空格class数据的详细内容,感谢大家的阅读和对我们的支持。
相关推荐
-
Java工具jsch.jar实现上传下载
在做运维的时候,我们一般使用shell脚本实现文件的服务器之间定时传输,那么对于一些不会shell脚本的童鞋,就得使用万能的编程语言了,这里我们介绍一款Java操作ftp的工具,那就是jsch.jar.工具已经写好,可以根据实际情况做调整,注释很清晰.大家按需阅读: package com.wdy.tools.utils.sftputil; import java.io.File; import java.io.FileInputStream; import java.io.FileOutput
-
Java实现后台发送及接收json数据的方法示例
本文实例讲述了Java实现后台发送及接收json数据的方法.分享给大家供大家参考,具体如下: 本篇博客试用于编写java后台接口以及两个项目之间的接口对接功能: 具体的内容如下: 1.java后台给指定接口发送json数据 package com.utils; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.Htt
-
解决JavaWeb读取本地json文件以及乱码的问题
最近在开发项目的时候遇到一个问题,在myecilpes上使用googlede gson读取项目中的json文件成功,然后把项目发布到tomcat上再使用同样的方法,会提示"系统找不到指定的路径" 文件放在src/config/下 JsonParser parser = new JsonParser(); JsonObject object = (JsonObject) parser.parse(new FileReader("config/Test.json"));
-
Java实现的JSONUtil工具类与用法示例
本文实例讲述了Java实现的JSONUtil工具类与用法.分享给大家供大家参考,具体如下: import java.util.HashMap; import java.util.Map; import com.alibaba.druid.util.StringUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; public class JSONUtils { /** * Bean对象转J
-
java 读取excel文件转换成json格式的实例代码
需要读取excel数据转换成json数据,写了个测试功能,转换正常: JSON转换:org.json.jar 测试类: importFile.java: package com.siemens.util; import java.util.ArrayList; import java.util.List; import org.json.JSONException; import org.json.JSONObject; import org.apache.poi.ss.usermodel.R
-
java利用phantomjs进行截图实例教程
前言 最近工作中遇到一个需求,需要实现截图功能,断断续续查找资料.验证不同的实现方法终于算基本搞定了页面截图,因为中间过程曲折花费较多时间,分享出来帮助大家快速实现截图 为什么选用phantomjs进行截图 截图可以实现的方式有很多,比如: selenium HtmlUnit Html2Image...and so on但是这些实现的截图效果都不好.selenium只能实现截屏,不能截取整个页面,而HtmlUnit.Html2Image对js的支持效果并不好,截下来的图会有很多空白.phanto
-
java的JsonObject对象提取值方法
实例如下所示: import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import io.swagger.models.auth.In; import java.io.IOException; import java.security.KeyManagementException; import java.security.N
-
Java 把json对象转成map键值对的方法
工具方法: 本文的目的是把json串转成map键值对存储,而且只存储叶节点的数据 maven 引用jar包版本: <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20090211</version> </dependency> 工具类: package com.baofoo.admin.test; /
-
Java读取本地json文件及相应处理方法
如下所示: //读取json文件地址 /* String path = getClass().getClassLoader().getResource("menu.json").toString(); path = path.replace("\\", "/"); if (path.contains(":")) { path = path.replace("file:/", ""); }
-
Java执行JS脚本工具
Java 执行 JS 脚本工具 用途:为了便于系统扩展,提供了 JS 脚本的功能,可以通过在系统中执行脚本来获得更复杂的功能. 例如:系统提供了一个接口,这个接口不必非的有实现类,而是可以通过JS来实现这个接口的方法,在运行时载入JS脚本去实现.只要能融会贯通,可用的地方还是很多的. 先看最基础的一个工具类 实际上有这么一个工具类就足够了,后面讲的例子也是基于这个工具类的. 这段代码的原理: 由于在 Java 的 javascript 引擎中,常用的List,Map等复杂对象的 属性值 不能在
随机推荐
- Oracle 当前用户下所有表的记录总数
- javascript dragable的Move对象
- Javascript 日期处理之时区问题
- Session服务器配置指南与使用经验的深入解析
- PDO防注入原理分析以及使用PDO的注意事项总结
- C#控制台基础 List泛型集合与对应的数组相互转换实现代码
- JSP常见的文件操作小结
- J2ME编程中的几个重要概念介绍
- javascript 语法基础 想学习js的朋友可以看看
- jquery插件uploadify多图上传功能实现代码
- Macromedia Flex 制作计算器源码和制作步骤
- win2003修改Administrator用户名的方法
- JAVA利用HttpClient进行HTTPS接口调用的方法
- Android自定义TextView跑马灯效果
- android 多线程技术应用
- 浅谈Android RecyclerView 间距全适配
- vue中实现移动端的scroll滚动方法
- 解决vue 项目引入字体图标报错、不显示等问题
- 易语言制作英雄联盟辅助的源码
- MySQL每晚定时弹出一个taskeng.exe的解决方法