在使用jsoup爬取其他网站数据的时候,发现class是带空格的多选择,如果直接使用doc.getElementsByClass(“class的值”),这种方法获取不到想要的数据。

1、问题描述:

在使用jsoup爬取其他网站数据的时候,发现class是带空格的多选择,如果直接使用doc.getElementsByClass(“class的值”),这种方法获取不到想要的数据。

爬取网站页面结构如下:

2、其中文章列表的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爬虫解析script_详解java爬虫jsoup解析多空格class数据相关推荐

  1. java 自动装载_java_详解Java的Spring框架下bean的自动装载方式,Spring容器可以自动装配相互协 - phpStudy...

    详解Java的Spring框架下bean的自动装载方式 Spring容器可以自动装配相互协作bean之间的关系,这有助于减少对XML配置,而无需编写一个大的基于Spring应用程序的较多的和元素. 自 ...

  2. java 引用传递_详解java的值传递、地址传递、引用传递

    详解java的值传递.地址传递.引用传递 一直来觉得对值传递和地址传递了解的很清楚,刚才在开源中国上看到一篇帖子介绍了java中的值传递和地址传递,看完后感受颇深.下边总结下以便更容易理解. 按照以前 ...

  3. java内部格式_详解java内部类的访问格式和规则

    详解java内部类的访问格式和规则 1.内部类的定义 定义一个类来描述事物,但是这个事物其中可能还有事物,这时候在类中再定义类来描述. 2.内部类访问规则 ①内部类可以直接访问外部类中的成员,包括私有 ...

  4. java comparator相等_详解Java中Comparable和Comparator接口的区别

    详解Java中Comparable和Comparator接口的区别 发布于 2020-7-20| 复制链接 摘记: 详解Java中Comparable和Comparator接口的区别本文要来详细分析一 ...

  5. java switch中if_详解java中if语句和switch的使用

    if语句 说起if语句,那么不得不提起三元运算符 a>b?c=0:c=1; 如果a>b结果为true,那么c=0,为false,c=1 那么下面看下if语句 if(a>b)c=0; ...

  6. python java混合编程_详解java调用python的几种用法(看这篇就够了)

    java调用python的几种用法如下: 在java类中直接执行python语句 在java类中直接调用本地python脚本 使用Runtime.getRuntime()执行python脚本文件(推荐 ...

  7. Java implement意思_详解JAVA中implement和extends的区别

    详解JAVA中implement和extends的区别 发布于 2020-4-14| 复制链接 摘记: 详解JAVA中implement和extends的区别extends是继承父类,只要那个类不是声 ...

  8. java sleep唤醒_详解Java中的线程让步yield()与线程休眠sleep()方法

    Java中的线程让步会让线程让出优先级,而休眠则会让线程进入阻塞状态等待被唤醒,这里我们对比线程等待的wait()方法,来详解Java中的线程让步yield()与线程休眠sleep()方法 线程让步: ...

  9. java runnable 异常_详解Java中多线程异常捕获Runnable的实现

    详解Java中多线程异常捕获Runnable的实现 1.背景: Java 多线程异常不向主线程抛,自己处理,外部捕获不了异常.所以要实现主线程对子线程异常的捕获. 2.工具: 实现Runnable接口 ...

最新文章

  1. 小程序大转盘红包雨营销组件
  2. Servlet-forward转发
  3. 将字符串a复制到字符串b
  4. C# 爬虫:疫情实时信息图
  5. 快过年了,分享 25 个 JS 实用技巧送给大家吧
  6. form跳转php页面,form表单页面跳转方式提交练习
  7. 第二弹!谷歌大脑2017总结下篇:Jeff Dean梳理6大领域研究
  8. 叶片制成切片的结构示意图_更集成的发动机!洞悉UTC 3D打印整体式半叶片
  9. (转)区块链:哈希、公钥、私钥、加密、数字签名、数字证书、默克尔树、零知识证明
  10. mysql可以用except吗_MYSQL 支持EXCEPT语句吗? 例子里EXCEPT后面的换成NOT IN可以吗? 两个例子错在哪里啊?...
  11. mybatis 链接DB2查询报错,必需的字符转换器不可用。 ERRORCODE=-4220, SQLSTATE=null
  12. 解决 Chrome 使用高德地图卡顿
  13. Summation Prove (Intro. to Algo. Open Course Episode 5) in Quick Sort
  14. 用python完成商品的名称、价格表显示,用户选择商品并统计结果
  15. 设置导航栏字体大小,颜色和加粗字体的方法
  16. 奥迪坚技术革新带动信用卡呼叫中心管理升级
  17. 在php中利用gd2库的函数创建水印
  18. c++nullptr(空指针常量)、constexpr(常量表达式)
  19. 提交代码到git仓库
  20. (dedecms)织梦搬家后无法更新栏目

热门文章

  1. RabbitMQ——TTL队列/消息与死性队列
  2. 过去的十五年,我们怎样做 IM?
  3. 网络编程大小端字节序
  4. 极空间Docker安装Centos 开启SSH
  5. win10连接树莓派教程
  6. wiki matlab,MATLAB - Simulink
  7. 2023年第十四届蓝桥杯javaB组 蜗牛解题思路(动态规划 O(n))
  8. 点云生成-PointFlow: 3D Point Cloud Generation with Continuous Normalizing Flows
  9. 实用性强基于AI人工智能技术的网站
  10. 如何取得Windows驱动程序的数字签名