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

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

凱哥Java 凱哥java
問題描述:css

在使用jsoup爬取其餘網站數據的時候,發現class是帶空格的多選擇,若是直接使用doc.getElementsByClass(「class的值」),這種方法獲取不到想要的數據。java

爬取網站頁面結構以下:
java爬蟲問題二: 使用jsoup爬取數據class選擇器中空格多選擇怎麼解決node

其中文章列表的div爲:<div class="am-cf inner_li inner_li_abtest"></div>eclipse

咱們能夠看到其class的值爲:am-cf inner_li inner_li_abtest。帶空格的。多值的。ide

若是咱們仍是用getElementsByClass()這個方法獲取的話,是獲取不到的。eclipse中斷點以下:網站

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

能夠看到獲取的值的長度size=0。沒有獲取到數據。blog

通過各方搜索,發現解決方案:使用的不是getElementsByClass()方法,能夠使用其餘方法。ip

先上成功後截圖:get

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

咱們能夠看到數據的長度size=20了。說明獲取到數據了。源碼

下面講解select方法使用:

Elements org.jsoup.nodes.Element.select(String cssQuery)

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

樣式選擇器。

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

咱們知道這個能夠多個。

在看看咱們案例中使用的是:div.am-cf.inner_li.inner_li_abtest。爲何要這麼寫呢?

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

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

相關文章
相關標籤/搜索