使用java技術(shù)抓取網(wǎng)站上彩票雙色球信息詳解
前言
現(xiàn)在很多web應(yīng)用,做過web項(xiàng)目的童鞋都知道,web結(jié)果由html+js+css組成,html結(jié)構(gòu)都有一定的規(guī)范,數(shù)據(jù)動(dòng)態(tài)交互可以通過js實(shí)現(xiàn)。
有些時(shí)候,需要抓取某一個(gè)你感興趣的網(wǎng)站信息,一個(gè)網(wǎng)站信息肯定是通過某一個(gè)url,發(fā)送http請求,根據(jù)地址定位的,當(dāng)知道這個(gè)地址,可以獲取到很多的網(wǎng)絡(luò)響應(yīng),需要認(rèn)真分析,找到你那一個(gè)合適的地址,最后通過這個(gè)地址返回一個(gè)html給你,我們可以得到這個(gè)html,分析結(jié)構(gòu),解析這個(gè)結(jié)構(gòu)獲取你要的數(shù)據(jù)。Html的結(jié)構(gòu)解析往往是復(fù)雜繁瑣的,我們可以使用java的支持包:jsoup,可以完成發(fā)送請求,解析html等功能,得到你感興趣的數(shù)據(jù)。
下面就以一個(gè)彩票網(wǎng)站為例來簡單說明整體操作流程,分為以下幾大步驟:
- 根據(jù)官網(wǎng),定位到自己感興趣的模塊:雙色球
- 分析頁面,找到它的入口地址
- 獲取地址,使用jsoup發(fā)送請求,獲取返回的Document對象
- 分析Document對象,獲取感興趣的數(shù)據(jù)
1:根據(jù)官網(wǎng),定位到自己感興趣的模塊:雙色球:
本人選擇的500彩票網(wǎng)站:請根據(jù)以下步驟,找到雙色球板塊。

2:分析頁面,找到它的入口地址
發(fā)現(xiàn)右側(cè)有一個(gè)下拉選擇框,這個(gè)是歷史雙色球開獎(jiǎng)期號。改變這個(gè)值,瀏覽器會(huì)重新去請求這期的開獎(jiǎng)信息,確定地址是:
http://kaijiang.500.com/shtml/ssq/選擇期號.shtml

3:獲取地址,使用jsoup發(fā)送請求,獲取返回的Document對象
創(chuàng)建一個(gè)maven工程,導(dǎo)入jsoup的依賴:在你java類中,向2地址發(fā)送請求:獲取返回的頁面數(shù)據(jù):

返回的html頁面內(nèi)容比較多,就不貼在這里的,下面直接對這個(gè)頁面分析(特別說明,每一個(gè)html的結(jié)構(gòu)不是一成不變的,有可能當(dāng)讀者看到這篇文章的時(shí)候,網(wǎng)站修改了網(wǎng)頁結(jié)構(gòu),那么你需要重新分析,當(dāng)然,估計(jì)這個(gè)網(wǎng)站修改網(wǎng)頁結(jié)構(gòu)的可能性比較小。。。。。。)
4:分析Document對象,獲取感興趣的數(shù)據(jù)
雙色球由6個(gè)紅球+1個(gè)籃球組成,通過分析網(wǎng)頁,是通過class來表示的,網(wǎng)頁源碼如下:

通過以下代碼,獲取到6個(gè)紅球:

同理,可以獲取到1個(gè)籃球。
根據(jù)這個(gè)原理,你可以獲取你想要的很多的數(shù)據(jù):以下是本人獲取的數(shù)據(jù)

以上是個(gè)人對java中簡單抓取網(wǎng)頁數(shù)據(jù)的分享,感興趣的童鞋可以自己的實(shí)踐一下,實(shí)踐出真知。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Boot環(huán)境下Mybatis Plus的快速應(yīng)用操作
這篇文章主要介紹了Spring Boot環(huán)境下Mybatis Plus的快速應(yīng)用操作,具有很好的價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
java教學(xué)筆記之對象的創(chuàng)建與銷毀
面向?qū)ο蟮木幊陶Z言使程序能夠直觀的反應(yīng)客觀世界的本來面目,并且使軟件開發(fā)人員能夠運(yùn)用人類認(rèn)識事物所采用的一般思維方法進(jìn)行軟件開發(fā),是當(dāng)今計(jì)算機(jī)領(lǐng)域中軟件開發(fā)和應(yīng)用的主流技術(shù)。2016-01-01
java實(shí)現(xiàn)賬號登錄時(shí)發(fā)送郵件通知
這篇文章主要為大家詳細(xì)介紹了java如何實(shí)現(xiàn)在賬號登錄時(shí)發(fā)送郵件通知的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-09-09
Java實(shí)現(xiàn)音頻轉(zhuǎn)文本的示例代碼(語音識別)
Java中實(shí)現(xiàn)音頻轉(zhuǎn)文本通常涉及使用專門的語音識別服務(wù),本文主要介紹了Java實(shí)現(xiàn)音頻轉(zhuǎn)文本的示例代碼(語音識別),具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05
@Bean注解和@Configuration、@Component注解組合使用的區(qū)別
這篇文章主要介紹了@Bean注解和@Configuration、@Component注解組合使用的區(qū)別,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
Java BeanMap實(shí)現(xiàn)Bean與Map的相互轉(zhuǎn)換
這篇文章主要介紹了利用BeanMap進(jìn)行對象與Map的相互轉(zhuǎn)換,通過net.sf.cglib.beans.BeanMap類中的方法來轉(zhuǎn)換,效率極高,本文給大家分享實(shí)現(xiàn)代碼,感興趣的朋友一起看看吧2022-11-11
SpringBatch數(shù)據(jù)讀取的實(shí)現(xiàn)(ItemReader與自定義讀取邏輯)
本文主要介紹了SpringBatch數(shù)據(jù)讀取的實(shí)現(xiàn), 文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04
Jmeter對響應(yīng)數(shù)據(jù)實(shí)現(xiàn)斷言代碼實(shí)例
這篇文章主要介紹了Jmeter對響應(yīng)數(shù)據(jù)實(shí)現(xiàn)斷言代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
java 如何給對象中的包裝類設(shè)置默認(rèn)值
這篇文章主要介紹了java 如何給對象中的包裝類設(shè)置默認(rèn)值,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03

