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))
View Code

3.json.dump()

示例代码:

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

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)
View Code

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()
原文地址:https://www.cnblogs.com/xhds/p/12267550.html