java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决
問(wèn)題描述:
在使用jsoup爬取其他網(wǎng)站數(shù)據(jù)的時(shí)候,發(fā)現(xiàn)class是帶空格的多選擇,如果直接使用doc.getElementsByClass(“class的值”),這種方法獲取不到想要的數(shù)據(jù)。
爬取網(wǎng)站頁(yè)面結(jié)構(gòu)如下:
其中文章列表的div為:<div class="am-cf inner_li inner_li_abtest"></div>
我們可以看到其class的值為:am-cf inner_li inner_li_abtest。帶空格的。多值的。
如果我們還是用getElementsByClass()這個(gè)方法獲取的話,是獲取不到的。eclipse中斷點(diǎn)如下:
可以看到獲取的值的長(zhǎng)度size=0。沒有獲取到數(shù)據(jù)。
經(jīng)過(guò)各方搜索,發(fā)現(xiàn)解決方案:使用的不是getElementsByClass()方法,可以使用其他方法。
先上成功后截圖:
我們可以看到數(shù)據(jù)的長(zhǎng)度size=20了。說(shuō)明獲取到數(shù)據(jù)了。
下面講解select方法使用:
Elements org.jsoup.nodes.Element.select(String cssQuery)
樣式選擇器。
查看源碼:
我們知道這個(gè)可以多個(gè)。
在看看我們案例中使用的是:div.am-cf.inner_li.inner_li_abtest。為什么要這么寫呢?
查看需要爬取文章的頁(yè)面結(jié)構(gòu):
?
這下就明白了為什么這么用了吧。
凱哥微信id:kaigejava
個(gè)人網(wǎng)站:www.kaigejava.com
凱哥網(wǎng)站地址:http://kaigejava.com/article/detail/121
轉(zhuǎn)載于:https://blog.51cto.com/kaigejava/2074816
總結(jié)
以上是生活随笔為你收集整理的java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 节后综合症太痛苦,人工智能有“良方”
- 下一篇: 从tcp到netty(一)