【网络安全带你练爬虫-100练】第8练:json数据的最小项提取

目录

一、目标1:爬取指定json中数据

二、目标2:循环取json中数据

三、目标3:提取每个数据中的某一项

四、网络安全小圈子


一、目标1:爬取指定json中数据

爬取data里数据

 


核心代码:

        dirt1 = json.loads(res.text)print(dirt1['data'])

(1)json.loads()方法可用于解析有效的JSON字符串并将其转换为Python字典

(2)dirt1['data']是打印json中的data部分


运行结果:

完成了爬取

 


代码:

import requests
import json
from fake_useragent import UserAgentdef get_json():try:url = 'https://napi-huawei.tianyancha.com/next/web/home/vajialist?_=1688703382196'ua = UserAgent()headers = {'User-Agent': ua.chrome,}res = requests.get(url, headers=headers,timeout=10)dirt1 = json.loads(res.text)print(dirt1['data'])except:return ""if __name__ == '__main__':get_json()



二、目标2:循环取json中数据

我这里有2部分才到列表里面是把

所以我要取列表中数据就要变为

dirt1['data']['detailList']

 循环:

使用一个循环就可以区分开来了

        for item in dirt1['data']['detailList']:print(item)

 

代码:

import requests
import json
from fake_useragent import UserAgentdef get_json():try:url = 'https://napi-huawei.tianyancha.com/next/web/home/vajialist?_=1688703382196'ua = UserAgent()headers = {'User-Agent': ua.chrome,}res = requests.get(url, headers=headers,timeout=10)dirt1 = json.loads(res.text)#print(dirt1['data'])for item in dirt1['data']['detailList']:print(item)except:return ""if __name__ == '__main__':get_json()


三、目标3:提取每个数据中的某一项

目标

提取这2个指定项

 

理解:

此时item其实相当于dirt1['data']['detailList']中的一项

所以

item['resourceKey'] === ['data']['detailList']['resourceKey']

这行代码精确到数据中的更小一项resourceKey

运行结果:

 

完整代码:

import requests
import json
from fake_useragent import UserAgentdef get_json():try:url = 'https://napi-huawei.tianyancha.com/next/web/home/vajialist?_=1688703382196'ua = UserAgent()headers = {'User-Agent': ua.chrome,}res = requests.get(url, headers=headers,timeout=10)dirt1 = json.loads(res.text)#print(dirt1['data'])for item in dirt1['data']['detailList']:#print(item)print(item['resourceKey'])print(item['resourceName'])except:return ""if __name__ == '__main__':get_json()



四、网络安全小圈子

README.md · 书半生/网络安全知识体系-实战中心 - 码云 - 开源中国 (gitee.com)https://gitee.com/shubansheng/Treasure_knowledge/blob/master/README.md

GitHub - BLACKxZONE/Treasure_knowledgehttps://github.com/BLACKxZONE/Treasure_knowledge

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

哪家好用?四款国内外远程桌面软件横测:ToDesk、向日葵、TeamViewer、AnyDesk

一、前言 远程桌面软件对于职场人来说并不陌生,可以说是必备的办公软件之一。在经历过新冠疫情后,大家对于远程办公的认识越来越深入,也就在这段期间,远程桌面软件大范围的应用起来,真正走进大众视野并融入我们的工作和…

一纸文书之MySQL的回忆录

MySQL要点学习:你可以在简历上说熟悉MySQL 什么是数据库?什么是数据库管理系统?什么是MySQL?什么是SQL?数据库数据库管理系统:SQL:结构化查询语言三者之间的关系 安装MySQL数据库管理系统MySQL常…

【软件分析/静态分析】chapter6 课程08 指针分析(Pointer Analysis)

🔗 课程链接:李樾老师和谭天老师的: 南京大学《软件分析》课程08(Pointer Analysis)_哔哩哔哩_bilibili 目录 第六章 指针分析(Pointer Analysis) 6.1 为什么需要指针分析 6.2 指针分析的基本…

惊!ChatGPT处理文章仅需一秒钟,提取大纲、重写不在话下!

前言 在上篇文章中,我们实现了批量抓取到微信公众号文章的链接地址,那么这篇文章将继续为大家介绍,如何根据链接爬取到文章内容,并且利用chantGPT对文章进行处理。 爬取文章内容 我们已经有了很多文章的链接,这些链…

C# 使用HttpListener时候异常(此平台不支持此操作:System.PlatformNotSupportedException)

C# 使用HttpListener时候异常(此平台不支持此操作:System.PlatformNotSupportedException) 代码: HttpListener listener new HttpListener(); 错误: System.PlatformNotSupportedException: Operation is not su…

(四)Kafka 消费者

文章目录 1. Kafka 消费者相关概念消费者和消费者组(1)横向伸缩消费者(2)横向伸缩消费者组 分区再平衡再均衡的类型(1)主动再均衡(2)协作再均衡(增量再均衡) …

Kubernetes对象深入学习之二:细说schema.ObjectKind

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 在前文咱们对对象体系有了大概了解,接下来就要按照前面换分的三个知识区域逐个深入学习,今天从最简单的对象类型开始 runtime.Object…

C语言 数组

1. 数组的地址 1.1 一维数组的地址 int a[5];(1) &a[0]第0个元素的地址a第0个元素的地址&a整个一维数组的地址 (2)&a[0] a &a; (3) &a[0] 1跳过一个数组元素a …

Gradio库中的Model3D模块:实时上传和展示3D模型

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

如何与ChatGPT愉快地聊天

原文链接:https://mp.weixin.qq.com/s/ui-O4CnT_W51_zqW4krtcQ 人工智能的发展已经走到了一个新的阶段,在这个阶段,人工智能可以像人一样与我们进行深度的文本交互。其中,OpenAI的ChatGPT是一个具有代表性的模型。然而&#xff0…

chatGPT之100个例子-从体验到精通

简介 本博文演示了100个chatGPT在各行各业的使用例子,全部看完有助于培养chatGPT解决问题的思维。 在人工智能时代,智能软件并不会淘汰人类,淘汰人类的是会使用人工智能的人! 我们直接使用openAI官方chatGPT,生动演示了chatGPT的一些妙用! 请仔细看完,一定会有收获! 每…

构建工具——webpack、vite

文章目录 构建工具Webpack使用步骤配置文件(webpack.config.js)插件(plugin) ViteVite 也是前端的构建工具使用命令构建配置文件:vite.config.js 构建工具 当我们习惯了在 node 中编写代码的方式后,在回到…