前言

其实这篇应该是昨天必须完成的但是昨天emmmmm 学习进度有点慢 今天早上起来早点完成了这些的学习 昨天计划学习内容还差一道CTFemmm

不管了 先写一下今天的计划 开始锻炼身体去。

python-JSON模块

JSON

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

1. json.dumps()和json.loads()是json格式处理函数
  (1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码
  (2)json.loads()函数是将json格式数据转换为字典

2、json.dump()和json.load()主要用来读写json文件函数

1. json.dumps()

json.dumps 用于将 Python 对象编码成 JSON 字符串。

下面代码将 dics对象编码成json字符串并输出里面的值和输出类型

执行输出

2.json.loads()

json.loads()函数是将json格式数据转换为字典

下面代码联系上面的代码将编码后的json格式数据转换为字典格式

执行输出

 json.dumps() 和json.loads() 演示的代码

 1 import json
2
3 dics={"name":"xiaohua","age":"21"}
4
5 #json.dumps()将python数据类型列表进行json格式编码
6 json_dic=json.dumps(dics)
7 print(json_dic)
8 print(type(json_dic))
9
10
11 #json.loads()函数是将json格式数据转换为字典
12 json_huifu=json.loads(json_dic)
13 print(json_huifu)
14 print(type(json_huifu))

3.json.dump()

示例代码:

import json
json_info="{'name':'xiaohua'}"
file=open('1.json','w',encoding='utf-8')
json.dump(json_info,file)

json.dump()函数的使用,将json信息写进文件

执行后json数据成功写入1.json文件

4.json.load()

示例代码:

1 import json
2
3 file = open('1.json','r',encoding='utf-8')
4 sd = json.load(file)
5 print(sd)

json.load()函数的使用,将读取json信息

执行代码结果

zoomeye采集

zoomeye采集API的使用

API:https://www.zoomeye.org/doc#limitations

代码:

import requests
import json def login():
url_login="https://api.zoomeye.org/user/login"
data={
"username": "1098395580@qq.com",
"password": "xiaohua@1998"
}
data=json.dumps(data) r=requests.post(url=url_login,data=data) return json.loads(r.content)['access_token'] def main():
url="https://api.zoomeye.org/web/search?query=city"
headers={'Authorization':'JWT '+login()}
r=requests.get(url=url,headers=headers) datas=json.loads(r.content)['matches']
for data in datas:
print(data['ip']); if __name__=='__main__':
main()

python-网络安全编程第九天(json模块、zoomeye采集)的更多相关文章

  1. python学习第四十八天json模块与pickle模块差异

    在开发过程中,字符串和python数据类型进行转换,下面比较python学习第四十八天json模块与pickle模块差异. json 的优点和缺点 优点  跨语言,体积小 缺点 只能支持 int st ...

  2. Python 第三篇(上):python文件基础操作、json模块、lambda、map、filter、reduce和函数位置参数

    python一切皆对象,linux一切皆文件,python操作文件是很常见的O/I操作,其内置来open()函数可以完成文件的基本操作: 一:使用内置open()函数操作文件,基本语法如下: with ...

  3. python基础(20):序列化、json模块、pickle模块

    1. 序列化 什么叫序列化——将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. 1.1 为什么要有序列化 为什么要把其他数据类型转换成字符串?因为能够在网络上传输的只能是bytes,而能够 ...

  4. 【JulyEdu-Python基础】第 7 课:Python并发编程以及系统常用模块

    主要内容 Python多进程与多线程 Python使用Hadoop分布式计算库mrjob Python使用Spark分布式计算库PySpark 例子:分别使用MapReduce和Spark实现word ...

  5. (转)python异步编程--回调模型(selectors模块)

    原文:https://www.cnblogs.com/zzzlw/p/9384308.html#top 目录 0. 参考地址 1. 前言 2. 核心类 3. SelectSelector核心函数代码分 ...

  6. python异步编程--回调模型(selectors模块)

    目录 0. 参考地址 1. 前言 2. 核心类 3. SelectSelector核心函数代码分析 3.1 注册 3.2 注销 3.3 查询 4. 别名 5. 总结 6. 代码报错问题 1. 文件描述 ...

  7. python网络编程——SocketServer/Twisted/paramiko模块

    在之前博客C/S架构的网络编程中,IO多路复用是将多个IO操作复用到1个服务端进程中进行处理,即无论有多少个客户端进行连接请求,服务端始终只有1个进程对客户端进行响应,这样的好处是节省了系统开销(se ...

  8. python 并发编程 协程 gevent模块

    一 gevent模块 gevent应用场景: 单线程下,多个任务,io密集型程序 安装 pip3 install gevent Gevent 是一个第三方库,可以轻松通过gevent实现并发同步或异步 ...

  9. python学习笔记(13):python并发编程以及系统常用模块

    一.进程与线程 1.进程:程序的一次执行(程序装载入内存,系统分配资源运行).n 每个进程有自己的内存空间.数据栈等,只能使用进程间通讯,而不能直接共享信息 2.线程:所有线程运行在同一个进程中,共享 ...

随机推荐

  1. Java爬取同花顺股票数据(附源码)

    最近有小伙伴问我能不能抓取同花顺的数据,最近股票行情还不错,想把数据抓下来自己分析分析.我大A股,大家都知道的,一个概念火了,相应的股票就都大涨. 如果能及时获取股票涨跌信息,那就能在刚开始火起来的时 ...

  2. SQL SERVER迁移--更换磁盘文件夹

    默认情况下SQL SERVER的安装路径与数据库的默认存放路径是在C盘的--这就很尴尬. 平时又不注意,有天发现C盘的剩余空间比较吃紧了,于是着手想办法迁移文件夹. 一.环境准备 数据库版本--SQL ...

  3. Guava - 拯救垃圾代码,写出优雅高效,效率提升N倍

    最近在看一个同学代码的时候,发现代码中大量使用了 Google 开源的 Guava 核心库中的内容,让代码简单清晰了不少,故学习分享出 Guava 中我认为最实用的功能. Guava 项目是 Goog ...

  4. 惊呆了!Spring Boot 还能开启远程调试?

    持续原创输出,点击上方蓝字关注我 目录 前言 什么是远程调试? 为什么要远程调试? 什么是JPDA? 如何开启调试? transport server suspend address onthrow ...

  5. 【DeepLearning】GoogLeNet

    InceptionV1 论文原文:Going deeper with convolutions    中英文对照 InceptionBN 论文原文:Batch Normalization: Accel ...

  6. Go语言的互斥锁Mutex

    目录 一.使用方法 二.死锁场景 1.Lock/Unlock不是成对出现 2.锁被拷贝使用 3.循环等待 一.使用方法 Mutext是互斥锁的意思,也叫排他锁,同一时刻一段代码只能被一个线程运行,两个 ...

  7. 热部署只知道devtools吗?JRebel不香吗?

    持续原创输出,点击上方蓝字关注我 目录 前言 JRebel收费怎么破? 什么是本地热部署? 什么是远程热部署? JRebel和devtools的区别 如何安装JRebel? 如何本地热部署? 如何远程 ...

  8. Tomcat启动中文乱码

    将Tomcat中conf里面的logging.properties修改一下编码方式: java.util.logging.ConsoleHandler.encoding = UTF-8 改成 java ...

  9. leetcode95:jump game

    题目描述 给出一个非负整数数组,你最初在数组第一个元素的位置 数组中的元素代表你在这个位置可以跳跃的最大长度 判断你是否能到达数组最后一个元素的位置 例如 A =[2,3,1,1,4], 返回 tru ...

  10. 聚类之k-means附代码

    import osimport sys as sys#reload(sys)#sys.setdefaultencoding('utf-8')from sklearn.cluster import KM ...