python-网络安全编程第九天(json模块、zoomeye采集)
前言

其实这篇应该是昨天必须完成的但是昨天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采集)的更多相关文章
- python学习第四十八天json模块与pickle模块差异
在开发过程中,字符串和python数据类型进行转换,下面比较python学习第四十八天json模块与pickle模块差异. json 的优点和缺点 优点 跨语言,体积小 缺点 只能支持 int st ...
- Python 第三篇(上):python文件基础操作、json模块、lambda、map、filter、reduce和函数位置参数
python一切皆对象,linux一切皆文件,python操作文件是很常见的O/I操作,其内置来open()函数可以完成文件的基本操作: 一:使用内置open()函数操作文件,基本语法如下: with ...
- python基础(20):序列化、json模块、pickle模块
1. 序列化 什么叫序列化——将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. 1.1 为什么要有序列化 为什么要把其他数据类型转换成字符串?因为能够在网络上传输的只能是bytes,而能够 ...
- 【JulyEdu-Python基础】第 7 课:Python并发编程以及系统常用模块
主要内容 Python多进程与多线程 Python使用Hadoop分布式计算库mrjob Python使用Spark分布式计算库PySpark 例子:分别使用MapReduce和Spark实现word ...
- (转)python异步编程--回调模型(selectors模块)
原文:https://www.cnblogs.com/zzzlw/p/9384308.html#top 目录 0. 参考地址 1. 前言 2. 核心类 3. SelectSelector核心函数代码分 ...
- python异步编程--回调模型(selectors模块)
目录 0. 参考地址 1. 前言 2. 核心类 3. SelectSelector核心函数代码分析 3.1 注册 3.2 注销 3.3 查询 4. 别名 5. 总结 6. 代码报错问题 1. 文件描述 ...
- python网络编程——SocketServer/Twisted/paramiko模块
在之前博客C/S架构的网络编程中,IO多路复用是将多个IO操作复用到1个服务端进程中进行处理,即无论有多少个客户端进行连接请求,服务端始终只有1个进程对客户端进行响应,这样的好处是节省了系统开销(se ...
- python 并发编程 协程 gevent模块
一 gevent模块 gevent应用场景: 单线程下,多个任务,io密集型程序 安装 pip3 install gevent Gevent 是一个第三方库,可以轻松通过gevent实现并发同步或异步 ...
- python学习笔记(13):python并发编程以及系统常用模块
一.进程与线程 1.进程:程序的一次执行(程序装载入内存,系统分配资源运行).n 每个进程有自己的内存空间.数据栈等,只能使用进程间通讯,而不能直接共享信息 2.线程:所有线程运行在同一个进程中,共享 ...
随机推荐
- oracle统计同一字段0和1
SELECT 班级表.班级编号,班级表.班级名称,SUM(DECODE(性别, '1', 1)) 女生人数,SUM(DECODE(性别, '0', 1)) 男生人数FROM 学生表, 班级表WHERE ...
- MySQL数据库基础-3-SQL 基本概念
SQL 基本概念 约束:constraint,表中的数据要遵守的限制 主键:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行:必须提供数据,即NOT NULL,一个表只能有一个 惟一键:一个 ...
- Vue踩坑日记-You may use special comments to disable some warnings. Use // eslint-disable-next-line to ignore the next line. Use /* eslint-disable */ to ignore all warnings in a file.
记录时间:2019年4月24日16:55:54 在build/webpack.base.conf.js文件中,注释或者删除掉:module->rules中有关eslint的规则
- oracle sql developer 启动java.exe设置错误
1.找到oracle安装目录下的jdk,如:E:\app\Administrator\product\11.2.0\dbhome_1\jdk 2.找到oracle安装目录下的developer路径:E ...
- MFiX-DEM中的并行碰撞搜索
基于MFiX-19.2.2 DEM并行程序中的颗粒循环 在DEM并行程序中,每个进程只循环该进程包含的颗粒,并且每个进程还有一层ghost cell,用来存放另一个进程发送过来的颗粒信息. 下面添加一 ...
- Solr入门-Solr服务安装(windows系统)
安装Solr 首先保证已经正确安装了Java 下载Solr,当前最新版6.1.0 Solr各个版本下载地址 Solr从6.0之后需要Java1.8所以如果使用Solr6.0及其以上版本,请确保Java ...
- ORB-SLAM3 Initializer.cpp函数解读
作者: Liam 点击上方"计算机视觉工坊",选择"星标" 干货第一时间送达 构造函数 Initializer::Initializer(const Frame ...
- 简单Emacs配置
(global-set-key [f9] 'compile-file) (global-set-key [f10] 'gud-gdb) (global-set-key (kbd "C-s&q ...
- Netty源码解析 -- ChannelPipeline机制与读写过程
本文继续阅读Netty源码,解析ChannelPipeline事件传播原理,以及Netty读写过程. 源码分析基于Netty 4.1 ChannelPipeline Netty中的ChannelPip ...
- 浅谈OpenGL之DSA
今天准备写一篇文章简单介绍一下OpenGL4.5引入的一个新的扩展ARB_direct_state_access,这个扩展为OpenGL引入了一个新的特性就是Direct State Acess,下文 ...