1. 程式人生 > >java爬蟲問題二: 使用jsoup爬取數據class選擇器中空格多選擇怎麽解決

java爬蟲問題二: 使用jsoup爬取數據class選擇器中空格多選擇怎麽解決

凱哥Java

問題描述:

在使用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。為什麽要這麽寫呢?

查看需要爬取文章的頁面結構:

?

這下就明白了為什麽這麽用了吧。

凱哥微信id:kaigejava

個人網站:www.kaigejava.com
凱哥網站地址:http://kaigejava.com/article/detail/121

java爬蟲問題二: 使用jsoup爬取數據class選擇器中空格多選擇怎麽解決