詳解java爬蟲jsoup解析多空格class數(shù)據(jù)
在使用jsoup爬取其他網(wǎng)站數(shù)據(jù)的時候,發(fā)現(xiàn)class是帶空格的多選擇,如果直接使用doc.getElementsByClass(“class的值”),這種方法獲取不到想要的數(shù)據(jù)。
1、問題描述:
在使用jsoup爬取其他網(wǎng)站數(shù)據(jù)的時候,發(fā)現(xiàn)class是帶空格的多選擇,如果直接使用doc.getElementsByClass(“class的值”),這種方法獲取不到想要的數(shù)據(jù)。
爬取網(wǎng)站頁面結(jié)構(gòu)如下:

2、其中文章列表的div為:<div class="am-cf inner_li inner_li_abtest"></div>
我們可以看到其class的值為:am-cf inner_li inner_li_abtest。帶空格的。多值的。
如果我們還是用getElementsByClass這個方法獲取的話,是獲取不到的。eclipse中斷點如下:

3、可以看到獲取的值的長度size=0。沒有獲取到數(shù)據(jù)。
經(jīng)過各方搜索,發(fā)現(xiàn)解決方案:使用的不是getElementsByClass方法,可以使用其他方法。
先上成功后截圖:

4、我們可以看到數(shù)據(jù)的長度size=20了。說明獲取到數(shù)據(jù)了。
下面講解select方法使用:
Elements org.jsoup.nodes.Element.select(String cssQuery)

5、樣式選擇器。
查看源碼:

6、我們知道這個可以多個。
在看看我們案例中使用的是:div.am-cf.inner_li.inner_li_abtest。為什么要這么寫呢?
查看需要爬取文章的頁面結(jié)構(gòu):

總結(jié):以上就是關(guān)于java爬蟲jsoup解析多空格class數(shù)據(jù)的詳細內(nèi)容,感謝大家的閱讀和對腳本之家的支持。
相關(guān)文章
SpringMVC實現(xiàn)前端后臺交互傳遞數(shù)據(jù)
本篇文章主要介紹了SpringMVC實現(xiàn)前端后臺傳遞數(shù)據(jù)的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03
使用Java實現(xiàn)HTTP和HTTPS代理服務(wù)詳解
這篇文章主要為大家詳細介紹了如何使用Java實現(xiàn)HTTP和HTTPS代理服務(wù),文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2024-04-04
Java如何根據(jù)實體指定字段值對其List進行排序詳解
在Java項目中可能會遇到給出一些條件,將List元素按照給定條件進行排序的情況,這篇文章主要給大家介紹了關(guān)于Java如何根據(jù)實體指定字段值對其List進行排序的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-07-07

