使用java技术抓取网站上彩票双色球信息详解
作者:IT-source 发布时间:2022-01-04 14:47:51
前言
现在很多web应用,做过web项目的童鞋都知道,web结果由html+js+css组成,html结构都有一定的规范,数据动态交互可以通过js实现。
有些时候,需要抓取某一个你感兴趣的网站信息,一个网站信息肯定是通过某一个url,发送http请求,根据地址定位的,当知道这个地址,可以获取到很多的网络响应,需要认真分析,找到你那一个合适的地址,最后通过这个地址返回一个html给你,我们可以得到这个html,分析结构,解析这个结构获取你要的数据。Html的结构解析往往是复杂繁琐的,我们可以使用java的支持包:jsoup,可以完成发送请求,解析html等功能,得到你感兴趣的数据。
下面就以一个彩票网站为例来简单说明整体操作流程,分为以下几大步骤:
根据官网,定位到自己感兴趣的模块:双色球
分析页面,找到它的入口地址
获取地址,使用jsoup发送请求,获取返回的Document对象
分析Document对象,获取感兴趣的数据
1:根据官网,定位到自己感兴趣的模块:双色球:
本人选择的 * 站:请根据以下步骤,找到双色球板块。
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中简单抓取网页数据的分享,感兴趣的童鞋可以自己的实践一下,实践出真知。
来源:https://blog.csdn.net/villainy13579/article/details/89680222


猜你喜欢
- Java8已经发布很多年了,但是很多人在开发时仍然坚持使用着Date和SimpleDateFormat进行时间操作。SimpleDateFo
- 概述什么是 Spring WebFlux, 它是一种异步的, 非阻塞的, 支持背压(Back pressure)机制的Web 开发框架. 要
- 很多项目需要用到弹幕效果,尤其是在播放视频的时候需要一起显示别人发的弹幕,也包括自己的发的。今天就试着写了一下这个效果。思路就是将从右往左的
- 定时的功能我们在手机上见得比较多,比如定时清理垃圾,闹钟,等等.定时功能在java中主要使用的就是Timer对象,他在内部使用的就是多线程的
- 本文实例讲述了Java操作Mongodb数据库实现数据的增删查改功能。分享给大家供大家参考,具体如下:首先,我们在windows下安装mon
- 一般情况下每个spring boot工程启动都有固定的端口,但是固定端口不利用服务的动态扩容,如果在一台服务器上需要对同一个服务进行多实例部
- 从Microsoft .Net 2.0版本以后,就默认提供了System.IO.Ports.SerialPort类,用户可以非常简单地编写少
- 前言OpenTelemetry作为一个分布式追踪的项目,他支持非常多的语言,如Java,Golang,Python等,鉴于笔者的主力语言为J
- 本文实例讲述了Java针对ArrayList自定义排序的2种实现方法。分享给大家供大家参考,具体如下:Java中实现对list的自定义排序主
- 最近在项目中,一个go服务给前端提供了一个接口,返回json格式数据,其中Int64字段会超出javascript Number可表示的最大
- 1 使用Office自带的库前提是本机须安装office才能运行,且不同的office版本之间可能会有兼容问题,从Nuget下载 Micro
- 前言使用Java8的新特性Stream流式处理,可以提高对于集合的一些操作效率,再配合lambda表达式,可以极致的简化代码,尤其还有并行流
- 目录Spring事件驱动源码实战在项目实际开发过程中,我们有很多这样的业务场景:一个事务中处理完一个业务逻辑后需要跟着处理另外一个业务逻辑,
- 序本文主要研究一下java9 gc log参数的迁移。统一JVM及GC的Loggingjava9引进了一个统一的日志框架,把gc相关的log
- HttpServletRequest对象代表客户端的请求,当客户端通过HTTP
- 一、定界符成帧Framer接口package framer;import java.io.IOException;import java.i
- 这篇文章主要介绍了Mybatis 缓存原理及失效情况解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 前言上一篇文章分享了Springboot项目快速实现过滤器功能,本篇文章接着来盘一盘 * ,仔细研究后会发现,其实 * 和过滤器的功能非常类
- C#实现的对两个Table进行Merge,两表必须存在至少一个公共栏位作为连接项,否则连接就失去了意义。如下是对两个table进行Merge
- AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Map