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

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。沒有獲取到數據。
經過各方搜索,發(fā)現(xiàn)解決方案:使用的不是getElementsByClass方法,可以使用其他方法。
先上成功后截圖:

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

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

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

總結:以上就是關于java爬蟲jsoup解析多空格class數據的詳細內容,感謝大家的閱讀和對腳本之家的支持。
相關文章
使用Java實現(xiàn)HTTP和HTTPS代理服務詳解
這篇文章主要為大家詳細介紹了如何使用Java實現(xiàn)HTTP和HTTPS代理服務,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2024-04-04

