通过HTTP client 抓取豆瓣电影信息
1. 逻辑分析
- 通过豆瓣网址
https://movie.douban.com/ 解析数据的来源。 - 获取该数据的url链接
https://movie.douban.com/j/search_subjects?type=movie&tag=热门&page_limit=50&page_start=0 (过程略) - postman测试该接口可用性
- 配置kettle程序实时抓取入库。
2. 见图如见物
3. ETL无敌yyds软件之kettle配置过程
生成记录
将url 接口解析成多个参数进行请求(可以动态改变该参数进行数据获取)
HTTP web service
通过http web service 组件来请求数据,字段result 来存储数据
字段选择
该组件可以改变字段的类型、字段的名称等等。 我通常使用该组件预览数据,debug等功能。
json输入
因为是JSON 格式的数据,所以我们json输入用来解析http web service 返回的result 数据,“忽略不完整路径”,可以过滤掉不完整的路径,如果你确定所有的路径都是没问题的,那这个可有可无。通过json路径表达式来获取该字段的值,并且为它赋予一个字段名称。
数据去重
我们根据片名title字段对数据进行了去重操作 注意: kettle中去重数据之前必须对去重字段进行排序操作。
数据存入mysql模型表中
CREATE TABLE `douban_movie` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`rate` float(3,2) DEFAULT NULL COMMENT '评分',
`title` varchar(127) DEFAULT NULL COMMENT '片名',
`url` varchar(127) DEFAULT NULL COMMENT '电影链接',
`cover` varchar(255) DEFAULT NULL COMMENT '海报',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
select * from douban_movie order by rate desc;
相关内容
Kettle循环导出整库数据 https://blog.csdn.net/weixin_43932609/article/details/119610480?spm=1001.2014.3001.5502 ETL工具kettle的计算方式 https://blog.csdn.net/weixin_43932609/article/details/110371110 Kettle工具中Rest client组件的用法!! https://blog.csdn.net/weixin_43932609/article/details/109988783 ETL工具kettle的Excel合并操作 https://blog.csdn.net/weixin_43932609/article/details/109326043 ETL工具kettle的插入更新操作 https://blog.csdn.net/weixin_43932609/article/details/109065366
=========================================================
人生得意须尽欢,莫使金樽空对月! __一个热爱说唱的程序员。 今日份推荐音乐:Jony J《欢迎光临》
=========================================================
|