Android-jsoup爬虫
Android Jsoup爬蟲(chóng)
? 最近項(xiàng)目中需要用到一些數(shù)據(jù),苦于沒(méi)有數(shù)據(jù)源。在網(wǎng)上各種搜羅爬蟲(chóng)的第三方工具:火車頭、八爪魚(yú)這些都不太理想,偶然間發(fā)現(xiàn)github上有一個(gè)java開(kāi)源的項(xiàng)目“jsoup”利用java代碼去操作網(wǎng)頁(yè)的元素,感覺(jué)可行。今天就給大家?guī)?lái)在android中如何使用jsoup爬蟲(chóng)的教程。
1.新建android工程,導(dǎo)入jsoup包
1.首先將jsoup的包下載下來(lái),他是以jar包的形式提供的,也可以使用依賴的方式(這里我是用jar的形式)。下載地址:https://jsoup.org/download
2.將下載好的jar包放入工程的libs文件夾下
3.將jar包依賴到工程中
2.開(kāi)始使用
我們來(lái)到我們新建的MainActivity中開(kāi)始編寫(xiě)代碼,這里我以爬我自己的一篇博客為例。
Jsoup.connect("https://blog.csdn.net/qq_36050563/article/details/109710952")通過(guò)connect(‘爬取的網(wǎng)址’)與此地址建立起連接。
Document document = Jsoup.connect("https://blog.csdn.net/qq_36050563/article/details/109710952").get();通過(guò)get方式獲取Doucment對(duì)象,如果你學(xué)習(xí)過(guò)前端對(duì)整個(gè)文檔對(duì)象一定不陌生,有了他就可以操作整個(gè)html頁(yè)面的元素了。注意這里會(huì)有異常tye-catch一下就好。
3.爬取
我要爬取的網(wǎng)頁(yè)是整個(gè)樣子的
1.比如我想爬取這個(gè)網(wǎng)頁(yè)的標(biāo)題,先要在瀏覽器中F12審查元素,點(diǎn)擊左上角的小箭頭指向這個(gè)標(biāo)題
這里的h1就是標(biāo)題,他有class 和 id 有這兩個(gè)我們就能很好的找到這個(gè)標(biāo)題了,當(dāng)然通過(guò)’‘h1’'標(biāo)簽也能找到。
這樣標(biāo)題我們就拿到了。
如果用document.getElementsByClass(“title-article”)的話返回的是一個(gè)數(shù)組,你需要再取到第一個(gè)元素才行。包括document.getElemengsByTag(“h1”)標(biāo)簽選擇器也是一樣的。
4.高級(jí)爬取
有人可能會(huì)問(wèn)如果我爬取的是一個(gè)列表,每個(gè)列表的詳情需要點(diǎn)進(jìn)去才能獲取到該如何是好?
這里給點(diǎn)小的提示,那就通過(guò)類選擇器或者標(biāo)簽選擇器獲取這個(gè)外面的列表。一般這種列表都是a標(biāo)簽,循環(huán)拿到他的href屬性中的鏈接地址,通過(guò)connect(‘爬取的網(wǎng)址’)與此地址建立起連接就可以了。
5.結(jié)語(yǔ)
好了今天的android版本的爬蟲(chóng)就講到這里,下一篇帶大家實(shí)現(xiàn)高級(jí)爬蟲(chóng)功能+greendao數(shù)據(jù)庫(kù)實(shí)現(xiàn)本地存儲(chǔ)。
總結(jié)
以上是生活随笔為你收集整理的Android-jsoup爬虫的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: input和raw_input
- 下一篇: android 广播唤醒应用,Andro