动态网页抓取(一个彩票网站为例来简单说明整体操作流程(一))
优采云 发布时间: 2022-04-13 10:35动态网页抓取(一个彩票网站为例来简单说明整体操作流程(一))
前言
现在很多做过web项目的web应用和童鞋都知道web结果是由html+js+css组成的,html结构有一定的规范,可以通过js实现动态数据交互。
有时候,你需要抓取某个你感兴趣的网站信息。一个网站信息必须通过某个url,发送一个http请求,根据地址定位。当你知道这个地址后,你就可以得到很多网络响应,需要仔细分析找到你合适的地址,最后通过这个地址返回一个html给你。我们可以获取html,分析结构,解析结构得到你想要的数据。Html的结构分析往往复杂繁琐。我们可以使用java支持包:jsoup,它可以完成发送请求、解析html等功能,获取你感兴趣的数据。
下面以一张彩票网站为例,简单说明一下整体的操作流程,主要分为以下几个步骤:
1:根据官网,找到您感兴趣的模块:双色球:
我选择的500彩票网站:请按照以下步骤找到双色球盘。
2:分析页面,找到它的入口地址
发现右边有一个下拉选择框,这个是历史开奖号码。改变这个值,浏览器会重新请求本期的抽奖信息,并判断地址为:
选择问题.shtml
3:获取地址,使用jsoup发送请求,获取返回的Document对象
创建一个maven项目,导入jsoup的依赖:在你的java类中,向2地址发送请求:获取返回的页面数据:
返回的html页面内容比较大,这里就不贴了。下面直接分析这个页面(特别是每个html的结构都不是静态的,有可能当读者看到这个文章,网站修改了网页的结构,那么你需要重新分析一下。当然,估计这个网站修改网页结构的可能性比较小。……)
4:分析Document对象得到感兴趣的数据
双色球由6个红球+1个篮球组成。通过分析网页,它是由类来表示的。网页源代码如下:
使用以下代码获得 6 个红球:
同理,可以获得1个篮球。
根据这个原理,你可以得到尽可能多的数据:以下是我得到的数据
以上是java中简单网页数据抓取的个人分享。有兴趣的童鞋可以自己动手实践,获得真知灼见。
以上就是本文的全部内容。希望对大家的学习有所帮助,也希望大家多多支持喊话教程。