前言
Kettle 除了常规的数据处理之外,还可以模拟发送HTTP client/post ,REST client。

实验背景
这周二老师布置了一项实验:

建立一个转换,实现一个猫眼API热映电影的json,生成为xls文件。
猫眼的热门电影接口为: http://m.maoyan.com/#movie,从里面找到API接口:http://m.maoyan.com/ajax/movieOnInfoList。需要获取里面的:电影名、评分、主演、信息

处理流程
我使用的是kettle的HTTP GET 请求访问了猫眼电影提供的接口

HTTP Client 组件在kettle中的位置是:

kettle 的处理流程为:

参数设置

HTTP Client 为设置请求,HTTP client 通过url调用接口,有两种方式。第一种是直接给定 url,第二种通过步骤从前一步当中传 url 过来。
调用之后返回的数据一般会以json的形式存在一个字段当中。我们可以通过设定“结果字段名”对获取后的 json 进行命名,方便下面操作。

 

在调用HTTP client 时如果被拒绝访问时可以添加请求头。

kettle 解析json
kettle 解析json主要通过 输入内的组件 json input 。
使用该组件时,必须保证解析的json的格式完全符合自己编写的解析规则。
读取本地文件解析无需勾选 源定义在一个字段里 。
勾选之后可以从上个步骤当中获取包含json的字段 ,对其解析。该字段一般会是 http client 的 结果输出字段名 。

HTTP client 解析时json 结构未知,需要我们自己书写解析规则。
以下面的json 为例 ,我们需要获取 results 中的nm 、star、sc、showInfo、rt等信息对应的json解析规则如下

kettle 利用 HTTP Client 获取猫眼电影API近期上映相关信息,并解析json的更多相关文章

  1. 如何获取豆瓣电影 API Key

    如何获取豆瓣电影 API Key 豆瓣 API Key 不能使用了 ! solutions & !== ? https://frodo.douban.com/api/v2/subject_co ...

  2. 利用多进程获取猫眼电影top100

    猫眼电影top100 是数据是在加载网页时直接就已经加载了的,所以可以通过requests.get()方法去获取这个url的数据,能过对得到的数据进行分析从而获得top100的数据, 把获取的数据存入 ...

  3. 爬虫之获取猫眼电影10W评论

    第一步 打开一个电影的评论界面: 哪吒之魔童降世:https://maoyan.com/films/1211270 我们发现这里只显示10条评论,而我们需要爬取10w条数据,所以不能从此页面进行抓包, ...

  4. 爬虫实战【4】Python获取猫眼电影最受期待榜的50部电影

    前面几天介绍的都是博客园的内容,今天我们切换一下,了解一下大家都感兴趣的信息,比如最近有啥电影是万众期待的? 猫眼电影是了解这些信息的好地方,在猫眼电影中有5个榜单,其中最受期待榜就是我们今天要爬取的 ...

  5. requests + 正则表达式 获取 ‘猫眼电影top100’。

    使用 进程池Pool 提高爬取数据的速度. 1 # !/usr/bin/python 2 # -*- coding:utf-8 -*- 3 import requests 4 from request ...

  6. 如何获取imageView中当前内容的相关信息并比较?

    public class MainActivity extends Activity implements OnClickListener{ private Button button; privat ...

  7. 一起学android之怎样获取手机程序列表以及程序相关信息并启动指定程序 (26)

    效果图: 程序列表: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFpX3FpbmdfeHVfa29uZw==/font/5a6L5L2T/fonts ...

  8. oracle数据库获取指定表的列的相关信息

    1.很多时候我们需要从数据库中获取指定表的所有列的相关属性,如 name,commens,datatype,datalength,pk等.下面就是制定的语句. select c.TABLE_NAME ...

  9. sqlserver 获取数据库、表和字段相关信息

    --获取指定服务器上的所有数据库 SELECT Name FROM Master..SysDatabases ORDER BY Name --获取指定数据库下所有表 SELECT Name FROM ...

随机推荐

  1. 我真的不想再用 JPA 了

    在开发者的圈子里,没当说到一种技术好或者不好,都会引发激烈或者不激烈的争论,直到一个开发者出来说 PHP 是世界上最好的语言,大家伙儿才会纷纷退去继续写代码. 今天说 JPA 的问题不是想引发什么讨论 ...

  2. 如何让基于.NET 2.0的应用在高版本的系统上运行?

    我们的WinForm项目是基于.NET 2.0开发的,在部署时,发现有些机器没有.NET 2.0,但是即使这些机器有装.NET 2.0 以上的版本,也无法运行我们的程序.这就比较蛋疼了. 我们查了一下 ...

  3. .Net基础篇_学习笔记_第五天_流程控制while循环003

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  4. 【学习笔记】第八章 python3核心技术与实践--条件与循环

    [第七章]思考题答案,仅供参考:

  5. MySQL单标查询

    一 单表查询的语法 #查询数据的本质:mysql会到你本地的硬盘上找到对应的文件,然后打开文件,按照你的查询条件来找出你需要的数据.下面是完整的一个单表查询的语法 select * from,这个se ...

  6. 02:H.264学习笔记

    H.264组成 1.网络提取层 (Network Abstraction Layer,NAL) 2.视讯编码层 (Video Coding Layer,VCL) a.H.264/AVC影像格式阶层架构 ...

  7. C++ const 引用 指针

    先简单回忆一下常量的性质: int main() { const int buffSize = 512; buffsize = 512; //× buffSize是常量 } 初始化时: const i ...

  8. HTML表格列表简介

    HTML简介: html列表: ol标签:order list 有序列表. ul标签:unorder list 无序列表. li标签:list item 列表项. style属性: 标签内写css表达 ...

  9. [Leetcode] 第290题 单词模式

    一.题目描述 给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式. 这里的遵循指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词 ...

  10. Java String 类解析

    I.构造函数: public String() {} 默认构造函数 public String(String original) {} 使用原有字符串构造  public String(char va ...