1. 首页
  2. 自学中心
  3. 软件
  4. SQL

kettle抓取网页上的数据存储到数据表中!

kettle抓取网页上的数据存储到数据表中!

今天做一个利用kettle抓取网页数据存储到数据表中的demo,如抓取AA市的空气质量AQI

1.查看网页信息kettle抓取网页上的数据存储到数据表中!

2.按下开发者工具,查看获取空气质量日报的请求

kettle抓取网页上的数据存储到数据表中!

kettle抓取网页上的数据存储到数据表中!

3.弄懂了网页请求,并通过查看数据格式,可以在数据库中建表,表格如下

kettle抓取网页上的数据存储到数据表中!

4.接下来就是在kettle中进行操作了

kettle的整体流程如下:

kettle抓取网页上的数据存储到数据表中!

下面进行分级讲解,首先新建转换,然后建立数据库连接,这些我就不详细贴图讲解了,不懂者可以去看我前面关于kettl的博客。然后新建生成记录的输入,生成记录的详情如下图

kettle抓取网页上的数据存储到数据表中!

其中的url就是前面查看得到的url请求,station就是后面拿来做where条件匹配所用。

然后新建一个Http Client的查询,详情如下

kettle抓取网页上的数据存储到数据表中!

然后新建一个插入更新的输出,首先数据插入表,详情如下

 

kettle抓取网页上的数据存储到数据表中!

如果以上步骤全部正确,点击运行即可得到数据,数据库表数据如下

kettle抓取网页上的数据存储到数据表中!

以上就把网页中的数据抓取到自己的数据库中了。

这时,可能你的需求不是这样了,你的新需求是抓取AA市下某个县的的AQI数据,且把对应的信息存储到对应的表字段中

首先重新定义表结构,新定义的表结构如下:

 

kettle抓取网页上的数据存储到数据表中!

定义完表结构后,接下来就是kettl中的操作了,整体流程如下

kettle抓取网页上的数据存储到数据表中!

定义生成记录的输入,详情如下:

kettle抓取网页上的数据存储到数据表中!

然后定义Http Client,他的详情如下

kettle抓取网页上的数据存储到数据表中!

然后定义一个json输入的输入,详情如下:

kettle抓取网页上的数据存储到数据表中!

kettle抓取网页上的数据存储到数据表中!

然后定一个字段选择,详情如下:

kettle抓取网页上的数据存储到数据表中!

,如果你需要的字段就是json输入中的全部字段,字段选择可以省略

最后,定义一个插入更新的输出,详情如下:

kettle抓取网页上的数据存储到数据表中!

这样,点击执行,数据库表中实现数据插入,结果如下:

kettle抓取网页上的数据存储到数据表中!

可能,你看到这里会觉得把url写死了,并且不能根据时间来进行抓取,不够智能,不够优化,那么接下里就演示一个更加完善的版本,流程图如下:

kettle抓取网页上的数据存储到数据表中!

如流程图所示,时间和url都是通过相应的定义获取的。首先定义一个获取系统信息的输入,详情如下:

kettle抓取网页上的数据存储到数据表中!

在里面定义一个变量为dateTime,设置好类型,

然后定义一个选择字段,格式化时间,详情如下:

kettle抓取网页上的数据存储到数据表中!

同时,定义一个获取变量的作业,详情如下:

kettle抓取网页上的数据存储到数据表中!

需要注意的时候,变量的获取需要提前设置,设置方法如下:

找到,自己电脑安装kettle后,生成的kettle.properties配置文件,一般都在C盘下的个人用户文件夹下

kettle抓取网页上的数据存储到数据表中!

然后修改kettle.properties,详情如下:

kettle抓取网页上的数据存储到数据表中!

设置完后,重启kettle,否则变量不会生效

然后定义一个笛卡尔输出的记录关联,将前面获取的变量关联起来

kettle抓取网页上的数据存储到数据表中!

然后编写javascript代码,获取dateTime,详情如下:

kettle抓取网页上的数据存储到数据表中!

后面的定义一样,直到更新插入时的条件有变,详情如下:

kettle抓取网页上的数据存储到数据表中!

最后运行,可得到结果如下:

kettle抓取网页上的数据存储到数据表中!

到这里,这个功能已经基本完善。

如果你只是想获取某一行的数据话,可以加上一个过滤记录的流程,如

kettle抓取网页上的数据存储到数据表中!

然后在记录里写上查询条件

kettle抓取网页上的数据存储到数据表中!

然后将返回true的结果指向插入更新,这样插入更新的数据即为站点只为如东的数据。

当然,只想取得其中一条数据的方法还有其他,我自学阶段只用到了过滤记录这个方法,还有其他的方法,读者可以自己去尝试,或者在评论区评论,以供学习!

一起大数据!

 

一个好的技巧对工作效率的提升作用很大,  扫一扫二维码,或在知识星球搜索 “ 一起大数据模板中心” !获取价格超万元的PPT模板,行业资料,办公技巧等。

欢迎 加入一起大数据 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;

 

你将获得:

1、价值上万元的专业的PPT报告模板。

2、专业案例分析和解读笔记。

3、实用的Excel、Word、PPT技巧。

4、VIP讨论群,共享资源。

5、优惠的会员商品。

6、线下活动优惠价格。

7、每年只需99元,老用户可八折续费。

一起大数据!"

原创文章,作者:hcyahoo,如若转载,请注明出处:http://www.17bigdata.com/kettle%e6%8a%93%e5%8f%96%e7%bd%91%e9%a1%b5%e4%b8%8a%e7%9a%84%e6%95%b0%e6%8d%ae%e5%ad%98%e5%82%a8%e5%88%b0%e6%95%b0%e6%8d%ae%e8%a1%a8%e4%b8%ad/

联系我们

在线咨询:点击这里给我发消息

邮件:23683716@qq.com

跳至工具栏