java爬虫解析script_详解java爬虫jsoup解析多空格class数据

本文介绍了在使用Java爬虫jsoup时遇到的class包含空格的多值问题,通过示例展示了直接使用getElementsByClass方法无法获取数据,而通过select方法结合CSS选择器能成功解析带空格的class数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

1、问题描述:

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

爬取网站页面结构如下:

68d793d7438b1ea068b3dc38b39e79bb.png

2、其中文章列表的div为:

我们可以看到其class的值为:am-cf inner_li inner_li_abtest。带空格的。多值的。

如果我们还是用getElementsByClass这个方法获取的话,是获取不到的。eclipse中断点如下:

9a7d921fe048855dc9223b24e8f7a162.png

3、可以看到获取的值的长度size=0。没有获取到数据。

经过各方搜索,发现解决方案:使用的不是getElementsByClass方法,可以使用其他方法。

先上成功后截图:

d15dc08502f80152cde3b264c9b1ae33.png

4、我们可以看到数据的长度size=20了。说明获取到数据了。

下面讲解select方法使用:

Elements org.jsoup.nodes.Element.select(String cssQuery)

3cf6305233c0fadc90571692892126f3.png

5、样式选择器。

查看源码:

63c1deb556a1d2afbcfc1a4143e5a6bd.png

6、我们知道这个可以多个。

在看看我们案例中使用的是:div.am-cf.inner_li.inner_li_abtest。为什么要这么写呢?

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

f78fea24f0d497ae2b11bfef361f63f1.png

总结:以上就是关于java爬虫jsoup解析多空格class数据的详细内容,感谢大家的阅读和对脚本之家的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值