专栏首页凯哥Javajava爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决

java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决

问题描述:

在使用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。为什么要这么写呢?

查看需要爬取文章的页面结构:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Javaweb-案例练习-4-加入购物车的实现过程

    这篇来做一个练习,就是图书详情页面,点击购买按钮,这本书添加到购物中。购物车中主要思想就是采用HashMap来存储数据。

    凯哥Java
  • Java 实现线程的方式有几种方式?带有返回值的线程怎么实现?

    在Java线程开发中,有几种方法开启线程?假如需要得到线程返回的信息怎么办?可以实现吗?凯哥将通过源码和大家一起分享下线程怎么将返回值带回来的。

    凯哥Java
  • RabbitMQ消息中间件技术精讲10 高级篇三 幂等性保障不重复消费

    在网络超时等问题除外下,要求一次或多次请求同一个资源,对资源本身产生的影响和第一次执行的影响相同。

    凯哥Java
  • bootstrap入门-做一个简单的页面

    接触bootstrap时间也不算短了,也用这个库做了几个内部系统了,使用的感觉真是很爽。

    the5fire
  • 工具_SublimeText

    ctrl+n:新文件 ctrl+p:Goto菜单 ctrl+shift+p命令模式 ctrl+·:控制台

    用户1147754
  • 在HTML页面中引入公共的部分的代码

    在做前端网页的时候,会涉及到很多界面,有的时候,这些界面都会有重复的代码,比如侧边栏菜单的重复代码,头部导航的 重复代码,底部的重复代码,这个时候,为了使每个页...

    王小婷
  • Q121 Best Time to Buy and Sell Stock

    Say you have an array for which the ith element is the price of a given stock on...

    echobingo
  • 使用CSS制作文字环绕图片效果(文字内容包含<li>标签)

    1.一般制作文字环绕图片效果。 HTML结构: View Code <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1....

    八哥
  • python3 列表、元组、字典、集合

    #使用方括号定义列表 my_list = [ ’ crazyit ’, 20,’ Python ’] print (my list) #使用圆括号定义元组...

    用户5760343
  • 移动端左右切换幻灯片开源组件

    经常会用到移动端左右切换幻灯片组件,今天提取了一个简易的方便后续使用。组件无任何依赖直接即可以使用。DEMO中使用了 touchstart 和 touchend...

    用户5997198

扫码关注云+社区

领取腾讯云代金券