[Golang] 爬虫实战-用多层嵌套结构体去接收多层嵌套数据

news2024/9/28 17:27:14

😚一个不甘平凡的普通人,致力于为Golang社区和算法学习做出贡献,期待您的关注和认可,陪您一起学习打卡!!!😘😘😘
🤗专栏:算法学习
🤗专栏:Go实战
💬个人主页:个人主页

请添加图片描述

今天在用go爬取百度过程中,爬到数据很杂,想把写入结构体中,爬到的数据如下:

map[data:map[endRow:0 hasNextPage:true hasPreviousPage:false isFirstPage:false isLastPage:false list:[map[education: f
avoriteFlag:false hotFlag:true interviewDate:6月起 jobId:8a817e65-414d-408b-9c9e-63b5dd970b22 name:2024AIDU-搜索产品研
发方向(J58555) orgName: postId:14717dd9-fb72-4c54-a8ab-dcd8fd14a35b postType:技术 projectType:AIDU项目 publishDate:202
3-05-08 recruitNum:0 serviceCondition:-计算机相关专业,优秀硕士及博士学历,有互联网实习经历优先
-精通Linux/Unix平台上的编程,熟练使用PHP/C++/golang/Python任一种语言进行开发
-熟悉mysql,具有数据库设计和优化能力,熟悉常用nosql系统(redis、mongodb等至少一种)
-具有扎实的计算机基础,算法设计/数据结构能力,有系统分析和设计的项目经验;
-学习能力和逻辑思维强,具备较强的分析问题和解决问题的能力
-有较强的产品理解,能从技术角度推动产品优化
-熟悉PHP/ C++/golang/Python 多门语言者或者有检索系统项目经验者优先
-同时面向愿意转换技术栈的其他语言同学
毕业时间:2023年9月-2024年8月
工作地点:北京
招聘部门:搜索技术平台研发部 updateDate:2023-05-08 workContent:-负责搜索产品的服务端研发工作
-参与搜索整体研发效能和稳定性的提升工作
-负责优化搜索垂类在线检索系统,参与服务架构设计,独立完成业务需求分析和软件设计
-负责线上复杂性并发问题的解决 workPlace:北京市 workYears: writeExaminationDate:无笔试]] navigateFirstPage:0 navigateLa
stPage:0 navigatePages:0 nextPage:0 pageNum:1 pageSize:1 pages:83 prePage:0 size:0 startRow:0 total:83] status:ok]

实例:看起来非常恶心,不用怕,当数据嵌套的时候,我们锁定我们想要的数据,然后去一层一层定义结构体,

定义三层结构体,这里我就不详细说了,哥们自己分析一下代码吧有什么不理解,评论区打出来,看到会回复。

package Baidu

type Contont struct {
	Code string `json:"status"`
	Data Kind   `json:"data"`
}
type Kind struct {
	List []Baidu `json:"list"`
}
type Baidu struct {
	Education            string `json:"education"`            //学历
	InterviewDate        string `json:"interviewDate"`        //面试日期
	JobName              string `json:"name"`                 //工作名字
	Posttype             string `json:"postType"`             //类型
	ProjectType          string `json:"projectType"`          //招募方式
	PublishDate          string `json:"publishDate"`          // 发布时间
	Context              string `json:"serviceCondition"`     //工作要求
	WorkContent          string `json:"workContent"`          //工作内容
	WorkPlace            string `json:"workPlace"`            //工作地点
	WriteExaminationDate string `json:"writeExaminationDate"` //是否笔试
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/503642.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

量子计算(10)编程实践2:隐形传态算法

目录 一、算法目的 二、算法原理 三、pyqpanda实现代码 四、测试结果 一、算法目的 量子隐形传态,又称量子遥传、量子隐形传输、量子隐形传送、量子远距传输或量子远传,是一种利用分散量子缠结与一些物理讯息的转换来传送量子态至任意距离的位置的技…

AutoSar CAN网络管理(CanNm)

文章目录 网络管理目的主动唤醒和被动唤醒状态管理1. 总线睡眠模式(Bus-Sleep Mode)2. 准备总线睡眠模式(Prepare Bus-Sleep Mode)3. 网络模式(Network Mode)3.1 重复报文状态(RepeatMessageState)3.2 常规…

基于springboot+mysql+jpa+html实现商品销售信息系统

基于springbootmysqljpahtml实现商品销售信息系统 一、系统介绍1、系统主要功能:2.涉及技术框架:3.本项目所用环境: 二、功能展示三、其它系统四、获取源码 一、系统介绍 1、系统主要功能: 订单管理模块 商品管理模块 品牌管理模…

【项目实战】—— 我们应该如何正确得创建线程池?

项目实战-我们应该如何正确得创建线程池? 对于现在而言多线程编程已经成为程序员必备的职业技能了,在开发实践过程中,你是否也遇到过相关多线程问题,比如创建多少线程才是合适的?线程池该如何创建?今天我们…

类和对象中(2)

文章目录 一、运算符重载1、运算符重载出现的原因2、在全局和类里实现运算符重载3、赋值运算符重载1、为什么赋值运算符重载不能写在全局 ?2、什么时候需要自己实现赋值运算符重载 ? 4、前置和后置重载5、运算符重载的优势 二、const成员函数1、两个常见…

GNN与MLP:GNN是一种泛化器

图神经网络(GNN)作为图表示学习的模型,建立在MLP架构之上,具有额外的消息传递,以允许特征在节点之间流动。作者通过引入一个被称为P-MLP的中间模型,将GNN性能增益的主要来源定位为其内在的泛化能力&#xf…

JSR303统一校验和分组校验及常用注解@NotBlank@NotEmpty 的使用

JSR303-bean校验规范 JSR303常用注解,下面注解在JavaBean的字段上使用,必须在方法上搭配Vaild才会开启校验,也可以设置分组校验 Null 必须为空 主键字段常用,可以规定新增时字段必须为空NotNull 不能为null 添加数字时使用常用&…

前端学习笔记:CSS中浮动的原理,定位

这是本人学习的总结,主要学习资料如下 马士兵教育 目录 1、float1.1、float设计的初衷1.2、浮动的原理,类似两个图层1.3、浮动的原理,两个图层的特殊性1.4、消除浮动的影响 2、定位2.1、相对定位(relative)2.2、绝对定…

CSS var()的使用

最近在做流量对比的功能,有如下的效果图,当某个节点失败的时候,点击能够弹出对应的提示信息。 这个库使用的是jenkins-pipeline 的库, 但是由于它原本的提示框比较糟糕,所以我们想结合antd的tooltip进行展示&#xff0…

CM211-1-ZG-当贝纯净桌面-线刷固件包-

CM211-1-ZG-当贝纯净桌面-线刷固件包-内有教程及短接点 特点: 1、适用于对应型号的电视盒子刷机; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、修改dns,三网通用; 4、大量精简内置的没用的软件,运…

设计模式之【工厂模式】,创建对象原来有这么多玩法

文章目录 一、什么是工厂模式1、工厂模式的意义2、什么时候应该用工厂模式 二、简单工厂模式1、实例(1)使用简单工厂进行优化(2)静态工厂(3)使用map来去除if(4)使用反射(…

.netCHARTING Crack,添加圆角半径控制

.netCHARTING Crack,添加圆角半径控制 直角或直线组织连接线-通过默认情况下以直角绘制组织连接线,增强了组织连接线的显示方式。可以使用直线选项更改此默认设置,并直接在点之间绘制连接线。 同步组织节点的宽度和高度-添加了Element.Annotation.SyncWi…

Vue3+element-plus实现后台管理系统

背景(未完待续) 环境:node.js软件 、Vs code、vite、elemnt-plus、windicss(样式框架) 第一节课 1、首先,使用npm 命令构建项目( vscode安装的插件 vscode中文显示插件 2、高亮提示插件volar 3、vue 3 …

【Ansys Fluent】根据export导出的ASCII文件按坐标和物理量之间的关系重建物理场(温度场、压力场等)

一、问题说明 在fluent中利用export功能导出ASCII格式的文件,例如下面的文件,第2-4列是单元中心坐标值,第5列是温度值。 如果给出和「导出这个ASCII数据文件时用的几何模型尺寸」一致或等比例放缩的几何模型,可否根据这个ASCII文…

【PCIE体系结构八】数据链路层是如何保证TLP的正确传输的?

👉个人主页:highman110 👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 参考书籍:《深入浅出SSD:固态存储核心技术、原理与实战》 目…

kafka3.x详解

kafka 一、简介1.1、场景选择,与其他mq相比1.2、应用场景1.2.1、流量消峰1.2.2、解耦1.2.3、异步通讯 1.3、消息队列的两种模式1.3.1、点对点模式1.3.2、发布/订阅模式 1.4、Kafka 基础架构 二、安装部署2.1、安装包方式2.2、docker安装方式2.3、docker安装kafka-ma…

RuoYi-Cloud-Plus 登录过程源码

登录界面 ruoyi-ui/src/views/login.vue 点击登录按钮进入handleLogin方法 handleLogin() {//验证数据是否合法this.$refs.loginForm.validate(valid > {if (valid) {this.loading true;//如果记住密码被勾选if (this.loginForm.rememberMe) {//直接在cookie中存入相关信…

面试也要说人话

整理了一些读者的问题。 什么是《面试1v1》? 《面试1v1》是一个以对话形式讲解知识点的文章合集,是由 JavaPub 编写的真人1对1面试对话教程,通过真实案例编写,生动、有趣、干货满满。 为什么要写《面试1v1》这个专题&#xff1…

排序篇:归并排序的递归,非递归以及计数排序的实现(C语言)

目录 一:归并排序 (1)归并排序的基本思想 (2)递归版本 ①实现思路 ②合并 ③递归实现有序 ④最终代码 (3)非递归版本 ①实现思路 ②控制分组 ③最终代码 (4)时间,空间复杂度分析 (5)小结 二:计数排序 (1)计数排序的基本思想 …

asp.net+sqlserver体育器材租赁借还系统

本器材借还系统分为管理员和用户两部分,具体功能如下 管理员部分功能 1.管理员管理,管理系统内所有的管理员信息 2.器材信息管理,对器材的基本信息进行管理,方便用户的租借 3.申请审核管理,当用户申请了器材的使用只&a…