问题描述:css
在使用jsoup爬取其余网站数据的时候,发现class是带空格的多选择,若是直接使用doc.getElementsByClass(“class的值”),这种方法获取不到想要的数据。java
爬取网站页面结构以下:node
其中文章列表的div为:<div class="am-cf inner_li inner_li_abtest"></div>微信
咱们能够看到其class的值为:am-cf inner_li inner_li_abtest。带空格的。多值的。eclipse
若是咱们仍是用getElementsByClass()这个方法获取的话,是获取不到的。eclipse中断点以下:网站
能够看到获取的值的长度size=0。没有获取到数据。3d
通过各方搜索,发现解决方案:使用的不是getElementsByClass()方法,能够使用其余方法。blog
先上成功后截图:ip
咱们能够看到数据的长度size=20了。说明获取到数据了。get
下面讲解select方法使用:
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