爬虫|java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决
2019独角兽企业重金招聘Python工程师标准>>>
文章图片
问题描述:
在使用jsoup爬取其他网站数据的时候,发现class是带空格的多选择,如果直接使用doc.getElementsByClass(“class的值”),这种方法获取不到想要的数据。
爬取网站页面结构如下:
文章图片
其中文章列表的div为:
我们可以看到其class的值为:am-cf inner_li inner_li_abtest。带空格的。多值的。
如果我们还是用getElementsByClass()这个方法获取的话,是获取不到的。eclipse中断点如下:
文章图片
可以看到获取的值的长度size=0。没有获取到数据。
经过各方搜索,发现解决方案:使用的不是getElementsByClass()方法,可以使用其他方法。
先上成功后截图:
文章图片
我们可以看到数据的长度size=20了。说明获取到数据了。
下面讲解select方法使用:
【爬虫|java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决】Elements org.jsoup.nodes.Element.select(String cssQuery)
文章图片
样式选择器。
查看源码:
文章图片
我们知道这个可以多个。
在看看我们案例中使用的是:div.am-cf.inner_li.inner_li_abtest。为什么要这么写呢?
查看需要爬取文章的页面结构:
文章图片
?
这下就明白了为什么这么用了吧。
凯哥微信id:kaigejava
个人网站:www.kaigejava.com
凯哥网站地址:http://kaigejava.com/article/detail/121
转载于:https://my.oschina.net/kaigejava/blog/1627802
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- parallels|parallels desktop 解决网络初始化失败问题
- jhipster|jhipster 升级无效问题
- “精神病患者”的角度问题
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- 解决SpringBoot引用别的模块无法注入的问题
- java中如何实现重建二叉树
- Hive常见问题汇总
- 数组常用方法一