java爬蟲問題二: 使用jsoup爬取數據class選擇器中空格多選擇怎麽解決
阿新 • • 發佈:2018-03-02
凱哥Java問題描述:
凱哥微信id:kaigejava
在使用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。為什麽要這麽寫呢?
查看需要爬取文章的頁面結構:
?
這下就明白了為什麽這麽用了吧。
個人網站:www.kaigejava.com
凱哥網站地址:http://kaigejava.com/article/detail/121
java爬蟲問題二: 使用jsoup爬取數據class選擇器中空格多選擇怎麽解決