00信安API

00信安APIimport pandas as pd import requests import time API PROMPT API PROMPT title 零零信安 从信息系统中搜索网页标题 group 北京零零信安科技有限公司 从信息系统中搜索所属公司 html banner

大家好,我是讯享网,很高兴认识大家。
import pandas as pd
import requests
import time

API_PROMPT = API_PROMPT ="""
    title=零零信安		从信息系统中搜索网页标题
    group=北京零零信安科技有限公司		从信息系统中搜索所属公司
    html_banner==清华大学&&html_banner==版权所有		从信息系统中搜索HTML原文
    ip=1.1.1.1		从信息系统中搜索IP为“1.1.1.1”
    ip=1.1.1.1/16	从信息系统中搜索IP为“1.1.1.1”的B段
    url=https://0.zone		从信息系统中搜索URL,可搜索子域名
    banner=端口返回信息		从信息系统中搜索端口返回信息为“端口返回信息”
    例如模糊查询302跳转信息
    banner==HTTP/1.1 302 Found

    tags=登录页	从信息系统中搜索标签为“登录页”
    port=80		从信息系统中搜索端口为“80”
    component=nginx		从信息系统中搜索组件为“nginx”,搜索中间件
    component=MySQL
    component=OpenSSH
    component==tomcat
    component==Oracle WebLogic
    component==redis

    service=http		从信息系统中搜索服务为“http”,端口服务
    service==oracle
    service==mysql
    service==redis

    os=Linux			从信息系统中搜索操作系统为“Linux”
    os==F5 BIG-IP

    extra_info=负载均衡		从信息系统中搜索设备分类为“负载均衡”
    app_name=零零信安		从信息系统中搜索APP名称为“零零信安”
    status_code=200			从信息系统中搜索状态码为“200”
    country=中国				从信息系统中搜索国家为“中国”
    province=北京			从信息系统中搜索服务器位置省为“北京”
    city=北京				从信息系统中搜索服务器位置市为“北京”
    operator=电信			从信息系统中搜索运营商为“电信”
    device_type=load balancer	从信息系统中搜索设备为“load balancer”
    cms=WordPress		从信息系统中搜索CMS为“WordPress”

    邮箱高级搜索参数:
    email_domain=xxx.@.com		从邮箱中搜索邮箱地址为“xxx.@.com”
    group=北京零零信安科技有限公司		从邮箱中搜索所属公司为“北京零零信安科技有限公司”
    email_type=企业邮箱		从邮箱中搜索邮箱类型为“企业邮箱”
    source=0.zone			从邮箱中搜索来源为“0.zone”

    文档高级搜索参数:
    msg.title=北京零零信安科技有限公司		从文档中搜索文档名称为“北京零零信安科技有限公司”
    group=北京零零信安科技有限公司		从文档中搜索所属公司为“北京零零信安科技有限公司”
    description=xxxx		从文档中搜索文档描述为“xxxx”
    source=0.zone		从文档中搜索来源为“0.zone”

    代码高级搜索参数:
    msg.name=xxx/xxx/xxx/	从代码中搜索代码名称(路径)为“xxx/xxx/xxx/”
    description=0.zone		从代码中搜索代码原文为“0.zone”
    language=github.com		从代码中搜索开发语言为“github.com”
    risk_level=low			从代码中搜索风险等级为“low”
    source=0.zone			从代码中搜索来源为“0.zone”
    msg.tags=0.zone			从代码中搜索标签为“0.zone”

    供应链高级搜索参数:
    group=北京零零信安科技有限公司		从供应链中搜索所属公司为“北京零零信安科技有限公司”
    supplier=北京零零信安科技有限公司	从供应链中搜索供应商为“北京零零信安科技有限公司”
    msg.tags=软件			从供应链中搜索标签为“软件”
    msg.province=北京		从供应链中搜索省份为“北京”

    人员高级搜索参数:
    msg.introduction=北京零零信安科技有限公司	从人员中搜索简介为“北京零零信安科技有限公司”
    name=北京零零信安科技有限公司		从人员中搜索姓名为“北京零零信安科技有限公司”
    group=北京零零信安科技有限公司		从人员中搜索所属公司为“北京零零信安科技有限公司”
    position=0.zone			从人员中搜索职位为“0.zone”
    source=0.zone			从人员中搜索来源为“0.zone”


    title=北京零零信安科技有限公司		从移动端应用中搜索应用名称为“北京零零信安科技有限公司”
    description=xxxxxx				从移动端应用中搜索应用描述为“xxxxxx”
    group=北京零零信安科技有限公司		从移动端应用中搜索所属公司为“北京零零信安科技有限公司”
    type=微信公众号		从移动端应用中搜索应用类型为“微信公众号”
    source=0.zone		从移动端应用中搜索来源为“0.zone”
"""


def fetch_data(query, page_count):
    url = "https://0.zone/api/data/"
    data = {
        "query": query,
        "query_type": "site",
        "page": 1,
        "pagesize": page_count,
        "zone_key_id": ""
    }

    response = requests.post(url=url, json=data)

    # 检查响应状态码
    if response.status_code != 200:
        print(f"请求失败,状态码:{response.status_code}")
        response.raise_for_status()

    response_json = response.json()

    # 检查响应中是否包含数据和错误信息
    if 'code' in response_json and response_json['code'] != 200:
        print("API返回错误: ", response_json.get('message', '未知错误'))
        exit()

    # 确保数据存在再继续
    if 'data' not in response_json:
        print("响应中未包含数据")
        exit()

    # 如果数据为空,则给出相应提示
    if len(response_json['data']) == 0:
        print("查询结果为空")

    return response_json


def export_to_excel(responses):
    data_rows = [item for item in responses['data']]

    dataframe = pd.DataFrame(data_rows)

    file_name_safe = str(time.time()) + ".xlsx"
    dataframe.to_excel(file_name_safe, index=False)
    print(f'完成,已保存至文件:{file_name_safe}')


if __name__ == '__main__':
    print(API_PROMPT)

    query = input("输入查询语句:")
    try:
        page_count = int(input("输入查询条数:"))
    except ValueError:
        print("请输入一个数字作为查询条数")
        exit()

    start_time = time.time()
    json_data = fetch_data(query, page_count)
    end_time = time.time()

    export_to_excel(json_data)

    print(f"完成查询并导出至Excel文件,用时{end_time - start_time}秒")

讯享网


讯享网

小讯
上一篇 2025-02-10 12:28
下一篇 2025-03-16 15:25

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/52739.html