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

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

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

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

通過以下代碼,獲取到6個紅球:

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

以上是個人對java中簡單抓取網(wǎng)頁數(shù)據(jù)的分享,感興趣的童鞋可以自己的實踐一下,實踐出真知。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring MVC-@RequestMapping注解詳解
@RequestMapping注解的作用,就是將請求和處理請求的控制器方法關(guān)聯(lián)起來,建立映射關(guān)系。這篇文章主要給大家介紹了關(guān)于SpringMVC中@RequestMapping注解用法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-04-04
java 音頻轉(zhuǎn)換wav格式標(biāo)準(zhǔn)音頻的操作
這篇文章主要介紹了java 音頻轉(zhuǎn)換wav格式標(biāo)準(zhǔn)音頻的操作,主要是使用ffmpeg命令進行轉(zhuǎn)換,該工具類主要是為了將各類音頻轉(zhuǎn)為wav標(biāo)準(zhǔn)格式,其中可以調(diào)節(jié)采樣率、聲道數(shù)等指標(biāo),依賴maven環(huán)境,需要的朋友可以參考下2021-10-10
java使用XSSFWorkbook實現(xiàn)讀寫Excel
這篇文章主要為大家詳細介紹了java如何通過使用XSSFWorkbook實現(xiàn)讀寫Excel功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04
關(guān)于Java單個TCP(Socket)連接發(fā)送多個文件的問題
這篇文章主要介紹了關(guān)于Java單個TCP(Socket)連接發(fā)送多個文件的問題,每次我只能使用一個 Socket 發(fā)送一個文件,沒有辦法做到連續(xù)發(fā)送文件,本文來解決這個問題,需要的朋友可以參考下2023-04-04
java實現(xiàn)創(chuàng)建臨時文件然后在程序退出時自動刪除文件
這篇文章主要介紹了java實現(xiàn)創(chuàng)建臨時文件然后在程序退出時自動刪除文件,從個人項目中提取出來的,小伙伴們可以直接拿走使用。2015-02-02

