java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决
問題描述:
在使用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。為什么要這么寫呢?
查看需要爬取文章的頁面結構:
?
這下就明白了為什么這么用了吧。
凱哥微信id:kaigejava
個人網站:www.kaigejava.com
凱哥網站地址:http://kaigejava.com/article/detail/121
轉載于:https://blog.51cto.com/kaigejava/2074816
總結
以上是生活随笔為你收集整理的java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 节后综合症太痛苦,人工智能有“良方”
- 下一篇: 从tcp到netty(一)