詳解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ù)的詳細(xì)內(nèi)容,感謝大家的閱讀和對腳本之家的支持。
相關(guān)文章
java如何實現(xiàn)自動生成數(shù)據(jù)庫設(shè)計文檔
以前我們還需要手寫數(shù)據(jù)庫設(shè)計文檔、現(xiàn)在可以通過引入screw核心包來實現(xiàn)Java?數(shù)據(jù)庫文檔一鍵生成。本文將具體介紹一下如何通過java自動生成數(shù)據(jù)庫設(shè)計文檔,需要的朋友可以參考下2021-11-11一文詳解Java?etcd的應(yīng)用場景及編碼實戰(zhàn)
etcd?是一個高度一致的分布式鍵值存儲系統(tǒng)。本文旨在幫助大家理解etcd,從宏觀角度俯瞰etcd全局,掌握etcd的基本操作技能,需要的可以參考一下2022-08-08Spring?AOP實現(xiàn)用戶登錄統(tǒng)一驗證功能
這篇文章主要為大家詳細(xì)介紹了Spring?AOP如何實現(xiàn)用戶登錄統(tǒng)一驗證功能,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)具有一定的借鑒價值,需要的可以參考一下2023-01-01Java判斷一個時間是否在當(dāng)前時間區(qū)間代碼示例
這篇文章主要給大家介紹了關(guān)于使用Java判斷一個時間是否在當(dāng)前時間區(qū)間的相關(guān)資料,在日常開發(fā)中我們經(jīng)常會涉及到時間的大小比較或者是判斷某個時間是否在某個時間段內(nèi),需要的朋友可以參考下2023-07-07hibernate關(guān)于session的關(guān)閉實例解析
這篇文章主要介紹了hibernate關(guān)于session的關(guān)閉實例解析,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-02-02Jmeter 中 CSV 如何參數(shù)化測試數(shù)據(jù)并實現(xiàn)自動斷言示例詳解
這篇文章主要介紹了Jmeter 中 CSV 如何參數(shù)化測試數(shù)據(jù)并實現(xiàn)自動斷言,本文通過示例給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07spring依賴注入成功但在調(diào)用接口的時候拿到的依賴卻是null問題
這篇文章主要介紹了spring依賴注入成功但在調(diào)用接口的時候拿到的依賴卻是null問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12