返回顶部
首页 > 资讯 > 后端开发 > Python >Python调用Zoomeye搜索接口的实现
  • 337
分享到

Python调用Zoomeye搜索接口的实现

Python调用Zoomeye搜索接口PythonZoomeye搜索接口 2023-01-06 12:01:33 337人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

钟馗之眼是一个强大的搜索引擎,不同于百度谷歌,它主要收集网络中的主机,服务等信息,国内互联网安全厂商知道创宇开放了他们的海量数据库,对之前沉淀的数据进行了整合、整理,打造了一个名符其

钟馗之眼是一个强大的搜索引擎,不同于百度谷歌,它主要收集网络中的主机,服务等信息,国内互联网安全厂商知道创宇开放了他们的海量数据库,对之前沉淀的数据进行了整合、整理,打造了一个名符其实的网络空间搜索引擎ZoomEye,运用python接口可以灵活的实现数据采集。

钟馗之眼的常用搜索关键字如下所示。

app:组件名称
ver:组件版本
搜索 apache组件    版本2.4  --> app:apache ver:2.4
port:端口号 ---> 例如:搜索开放了ssh端口的主机 port:22
指定搜索的操作系统 OS:操作系统名称 ---> OS:linux
指定搜索的服务 service:服务名称 --->  例如,搜素SSH服务  Service:SSH
指定搜索的地理位置范 --> country:国家   city:城市名    country:China --> city:Beijing
搜索指定的CIDR网段 例如: CIDR:192.168.158.12/24
搜索指定的网站域名 ---> site:www.baidu.com
搜索指定的主机名 ---> hostname:zwl.cuit.edu.cn
搜索指定的设备名  --> device:router
搜索具有特定首页关键词的主机 ---> keyWord:technology

提供的搜索脚本如下。

import os,JSON,requests
import argparse

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 GetResidual(token):
    url="Https://api.zoomeye.org/resources-info"
    headers={'Authorization':'Jwt ' + token}
    r=requests.get(url=url,headers=headers)
    datas=json.loads(r.content)
    print("剩余搜索次数: {}".fORMat(datas['resources']['search']))

def Search(token,search,files,page):
    url="https://api.zoomeye.org/WEB/search?query={}&page={}".format(search,page)
    headers={'Authorization':'JWT ' + token}
    r=requests.get(url=url,headers=headers)
    data = json.loads(r.content)['matches']
    with open(files,'w',encoding='utf-8') as f:
         json.dump(data,f,ensure_ascii=False)
    print("[+] 保存文件: {} 长度: {} 页码: {} 查询语法: {}".format(files,len(data),page,search))

def Get_System(files):
    try:
        with open(files,'r',encoding='utf8') as fp:
            json_data = json.load(fp)
            json_len = len(json_data)
            for item in range(0,json_len):
                print("IP地址: %15s   |" %(json_data[item]['ip'][0]),end="")
                print("地区: %1s %3s "%(json_data[item]['geoinfo']['continent']['names']['zh-CN'],
                json_data[item]['geoinfo']['subdivisions']['names']['zh-CN']))
    except Exception:
        pass

def Banner():
    print("  _          ____  _                _    ")
    print(" | |   _   _/ ___|| |__   __ _ _ __| | __")
    print(" | |  | | | \___ \| '_ \ / _` | '__| |/ /")
    print(" | |__| |_| |___) | | | | (_| | |  |   < ")
    print(" |_____\__, |____/|_| |_|\__,_|_|  |_|\_\\")
    print("       |___/                             \n")
    print("E-Mail: me@lyshark.com")

if __name__== "__main__":
    Banner()
    parser = argparse.ArgumentParser()
    parser.add_argument("-s","--search",dest="search",help="根据传入语法搜索指定内容")
    parser.add_argument("-f","--file",dest="file",help="保存文件的名字 *.json")
    parser.add_argument("-p","--page",dest="page",help="需要检索第几页的数据")
    parser.add_argument("-q","--query" ,dest="query",help="单独使用,可用于查询剩余次数")
    parser.add_argument("-g","--get" ,dest="get",help="提取本地json文件并解析出关键数据")
    args = parser.parse_args()
    if args.search and args.file and args.page:
        token = login()
        Search(token,args.search,args.file,args.page)
    elif args.query and args.search == None:
        token = login()
        GetResidual(token)
    elif args.get:
        Get_System(args.get)
    else:
        parser.print_help()

查询使用次数: 默认情况下,钟馗之眼每月给与10000条左右的查询次数,可以使用 -q 参数实现次数的查询。

**搜索功能的使用:**通过-s选项指定你需要搜索的关键字,可以结合钟馗之眼搜索语法使用-p就是搜索的页码数-f保存为json文件。

在JSON中解析IP地址: 在本地JSON文件中解析IP地址,提取出关键数据。

 到此这篇关于Python调用Zoomeye搜索接口的实现的文章就介绍到这了,更多相关Python调用Zoomeye搜索接口内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python调用Zoomeye搜索接口的实现

本文链接: https://lsjlt.com/news/176937.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python调用Zoomeye搜索接口的实现
    钟馗之眼是一个强大的搜索引擎,不同于百度谷歌,它主要收集网络中的主机,服务等信息,国内互联网安全厂商知道创宇开放了他们的海量数据库,对之前沉淀的数据进行了整合、整理,打造了一个名符其...
    99+
    2023-01-06
    Python调用Zoomeye搜索接口 Python Zoomeye搜索接口
  • 怎么用Redis实现搜索接口
    这篇文章主要为大家分析了怎么用Redis实现搜索接口的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“怎么用Redis实现搜索接口”的知识吧。对于后端开发人员来...
    99+
    2023-06-28
  • SpringBoot调用python接口的实现步骤
    目录一、前言二、方法1、代码2、运行一、前言 SpringBoot作为后端开发框架,有强大且方便的处理能力。但是作为一个结合数据分析+前台展示的网站来说,后端的数据处理模块使用py...
    99+
    2024-04-02
  • python并发调用接口怎么实现
    在Python中,可以使用多线程或者多进程来实现并发调用接口。 使用多线程实现并发调用接口: import threading ...
    99+
    2023-10-27
    python
  • Python怎么实现调用小程序接口
    本篇内容介绍了“Python怎么实现调用小程序接口”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!获取access_token,直接调用接口。...
    99+
    2023-06-20
  • Python调用API接口实现人脸识别
    目录准备工作代码流程在开始之前,先问问大家: 什么是百度Aip模块? 百度AI平台提供了很多的API接口供开发者快速的调用运用在项目中本文写的是使用百度AI的**在线接口SDK模块(...
    99+
    2023-02-13
    Python调用API接口 Python 人脸识别
  • 调试广度优先搜索 (BFS) 的实现
    php小编柚子为您介绍调试广度优先搜索(BFS)的实现。广度优先搜索是一种用于图和树的遍历算法,它从起始节点开始,逐层地访问相邻节点,直到找到目标节点。在实现BFS算法时,调试是非常重...
    99+
    2024-02-10
  • python高级搜索实现高效搜索GitHub资源
    目录搜索资源通过 in 关键字搜索通过 stars、fork 数量搜索按照范围查询按创建、更新时间搜索搜索代码按文件内容、路径搜索在某个资源下搜索按语言搜索按文件名、大小、扩展名搜索...
    99+
    2024-04-02
  • 详解dedecms搜索页面单独调用搜索结果条数的实现方法
    DEDE的搜索结果数量都集成在了列表分页标签里,并没有使用单独的函数来提供这个结果数量,因此对有单独调用搜索结果数量的用户来说,就有使用问题,这里提供二次开发的方法。 非常简单只要修改几个地方就行了: 第一步,打开/in...
    99+
    2022-06-12
    dedecms 搜索页面 调用 搜索结果
  • Python实现二叉搜索树
    二叉搜索树 我们已经知道了在一个集合中获取键值对的两种不同的方法。回忆一下这些集合是如何实现ADT(抽象数据类型)MAP的。我们讨论两种ADT MAP的实现方式,基于列表的二分查找和哈希表。在这一节中,我...
    99+
    2022-06-04
    Python
  • python调用rest接口
    #!/usr/bin/env python # -*- coding: utf-8 -*-   import requests import json   def call(body,url):     headers = {}   # ...
    99+
    2023-01-31
    接口 python rest
  • yolov3-python接口调用
    在YOLO官网提供的Darknet源码中,有一个使用python接口的示例程序 darknet.py 示例如下:https://github.com/pjreddie/darknet/blob/master/python/dark...
    99+
    2023-01-31
    接口 python
  • Python调用webservice接口
    from suds.client import Client url = "http://218.90.174.179:50038/JmYfjzService/clientRegisterServiceWSDL" test = Clie...
    99+
    2023-01-31
    接口 Python webservice
  • FeignClient如何实现接口调用
    这篇文章主要介绍了FeignClient如何实现接口调用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。FeignClient接口调用无参字符串参数对象参数拟定客户端调用服务端...
    99+
    2023-06-29
  • python实现简单的百度搜索
    #!/usr/bin/python # coding=utf-8 import urllib import urllib2 #实现百度关键字查询的小例子 #定义基础url url = "http://www.baidu.com/s" ...
    99+
    2023-01-31
    百度搜索 简单 python
  • java调用webService接口的代码实现
    目录什么是webservice接口webservice接口和http接口的区别如何用java代码调用webservice接口什么是webservice接口 Web Service也叫...
    99+
    2023-02-01
    java调用webService接口 java webService接口调用
  • 怎么使用Python实现搜索功能
    在Python中实现搜索功能通常使用内置的数据结构和算法来实现,以下是一个简单的例子: def search(arr, target...
    99+
    2024-03-02
    Python
  • java实现一个接口调取另一个接口(接口一调取接口二)
    目录java一个接口调取另一个接口工具类springboot中使用(接口一)接口二接口的调用与调用别人的接口别人调用我们的接口,与controller方法开发类似我们调用别人的接口j...
    99+
    2024-04-02
  • python高级搜索怎么实现高效搜索GitHub资源
    这篇文章主要讲解了“python高级搜索怎么实现高效搜索GitHub资源”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python高级搜索怎么实现高效搜索GitHub资源”吧!搜索资源通过 ...
    99+
    2023-06-25
  • .Net RabbitMQ实现HTTP API接口调用
    RabbitMQ Management插件还提供了基于RESTful风格的HTTP API接口来方便调用。一共涉及4种HTTP方法:GET、PUT、DELETE和POST。GET方法...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作