您的位置:首页 > 运维架构 > 网站架构

使用java技术抓取网站上彩票双色球信息详解

2019-06-25 16:21 1281 查看

前言

现在很多web应用,做过web项目的童鞋都知道,web结果由html+js+css组成,html结构都有一定的规范,数据动态交互可以通过js实现。

有些时候,需要抓取某一个你感兴趣的网站信息,一个网站信息肯定是通过某一个url,发送http请求,根据地址定位的,当知道这个地址,可以获取到很多的网络响应,需要认真分析,找到你那一个合适的地址,最后通过这个地址返回一个html给你,我们可以得到这个html,分析结构,解析这个结构获取你要的数据。Html的结构解析往往是复杂繁琐的,我们可以使用java的支持包:jsoup,可以完成发送请求,解析html等功能,得到你感兴趣的数据。

下面就以一个彩票网站为例来简单说明整体操作流程,分为以下几大步骤:

  • 根据官网,定位到自己感兴趣的模块:双色球
  • 分析页面,找到它的入口地址
  • 获取地址,使用jsoup发送请求,获取返回的Document对象
  • 分析Document对象,获取感兴趣的数据

1:根据官网,定位到自己感兴趣的模块:双色球:

本人选择的500彩票网站:请根据以下步骤,找到双色球板块。

 

 2:分析页面,找到它的入口地址

发现右侧有一个下拉选择框,这个是历史双色球开奖期号。改变这个值,浏览器会重新去请求这期的开奖信息,确定地址是:

http://kaijiang.500.com/shtml/ssq/选择期号.shtml

 3:获取地址,使用jsoup发送请求,获取返回的Document对象

创建一个maven工程,导入jsoup的依赖:在你java类中,向2地址发送请求:获取返回的页面数据:

返回的html页面内容比较多,就不贴在这里的,下面直接对这个页面分析(特别说明,每一个html的结构不是一成不变的,有可能当读者看到这篇文章的时候,网站修改了网页结构,那么你需要重新分析,当然,估计这个网站修改网页结构的可能性比较小。。。。。。)

 4:分析Document对象,获取感兴趣的数据

双色球由6个红球+1个篮球组成,通过分析网页,是通过class来表示的,网页源码如下:

通过以下代码,获取到6个红球:

同理,可以获取到1个篮球。

根据这个原理,你可以获取你想要的很多的数据:以下是本人获取的数据

以上是个人对java中简单抓取网页数据的分享,感兴趣的童鞋可以自己的实践一下,实践出真知。

以上就是本文的全部内容,希望对大家的学习有所帮助

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 抓取 网站 信息