java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决
2021-01-09 22:58
861 查看
java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决
凯哥Java 凯哥java
问题描述:
在使用jsoup爬取其他网站数据的时候,发现class是带空格的多选择,如果直接使用doc.getElementsByClass(“class的值”),这种方法获取不到想要的数据。
爬取网站页面结构如下:
其中文章列表的div为:<div class="am-cf inner_li inner_li_abtest"></div>
我们可以看到其class的值为:am-cf inner_li inner_li_abtest。带空格的。多值的。
如果我们还是用getElementsByClass()这个方法获取的话,是获取不到的。eclipse中断点如下:
可以看到获取的值的长度size=0。没有获取到数据。
经过各方搜索,发现解决方案:使用的不是getElementsByClass()方法,可以使用其他方法。
先上成功后截图:
我们可以看到数据的长度size=20了。说明获取到数据了。
下面讲解select方法使用:
Elements org.jsoup.nodes.Element.select(String cssQuery)
样式选择器。
查看源码:
我们知道这个可以多个。
在看看我们案例中使用的是:div.am-cf.inner_li.inner_li_abtest。为什么要这么写呢?
查看需要爬取文章的页面结构:
相关文章推荐
- java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决
- java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决
- java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决
- 详解java爬虫jsoup解析多空格class数据
- Java中Scanner使用解决读入数据问题
- 使用网上流传的一个数据库连接池在Proxy.newProxyInstance处引起 java.lang.ClassCastException 问题的解决方法
- 使用myeclipse将Javaj项目标ar套餐邂逅classnotfound解决问题的方法
- 使用asx3m与xstream配合解决flex与java利用httpservice传递xml数据问题
- Java解决取数据时“因数据库中 字符串含空格 而取值不成功”的问题
- 使用asx3m与xstream配合解决flex与java利用httpservice传递xml数据问题
- 使用网上流传的一个数据库连接池在Proxy.newProxyInstance处引起 java.lang.ClassCastException 问题的解决方法
- 解决使用libhdfs.so连接hdfs出错问题java.lang.ClassNotFoundException: org.apache.hadoop.fs.F
- 使用csv存储爬虫数据乱码问题解决
- 使用myeclipse将Java项目打成jar包遇到classnotfound的问题解决办法
- 使用myeclipse将Java项目打成jar包遇到classnotfound的问题解决办法
- mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)
- 【微信Java开发 --1---番外1】在windows下,使用JAVA执行多条DOS命令+文件夹/路径中有空格怎么解决【目的是实现内容穿透外网】
- 解决spring使用动态代理类型转换失败的问题--java.lang.ClassCastException: com.sun.proxy.$Proxy$ cannot be cast to ...
- 【Java Utility】Jsoup网页爬虫工具-使用选择器查找元素【八】
- 解决在java的ssm框架中使用ajax提交数据遇到的跨域问题