Python 需要解析一些API数据的指导吗

Python 需要解析一些API数据的指导吗,python,api,python-requests,Python,Api,Python Requests,我正在从事一个项目,在这个项目中,我正在编写scraper bots,以便直接从网站api检索信息。我遇到了一些我以前从未见过的东西,如果可能的话,我需要一些帮助来解析数据 以下是我正在使用python请求从API检索的数据: 以下是API URL: 谁能提供一些指导?甚至可以做到吗 先谢谢你们,伙计们 该URL指向您要下载的文件。要下载带有请求的文件库,您应该执行以下操作: url='1〕https://www.blacktype.bet/fsb-api-rest/racing/future/

我正在从事一个项目,在这个项目中,我正在编写scraper bots,以便直接从网站api检索信息。我遇到了一些我以前从未见过的东西,如果可能的话,我需要一些帮助来解析数据

以下是我正在使用python请求从API检索的数据:

以下是API URL:

谁能提供一些指导?甚至可以做到吗


先谢谢你们,伙计们

该URL指向您要下载的文件。要下载带有
请求的文件
库,您应该执行以下操作:

url='1〕https://www.blacktype.bet/fsb-api-rest/racing/future/5/HORSES.fsb'
response=requests.get(url)
filename=url.rsplit('/',1)[1]
将open(filename,'wb')作为f:
f、 写(response.content)
请参阅:

  • (阅读响应的
    内容
    属性)
  • (查看关于
    wb
    模式)

  • 该URL指向要下载的文件。要下载带有
    请求的文件
    库,您应该执行以下操作:

    url='1〕https://www.blacktype.bet/fsb-api-rest/racing/future/5/HORSES.fsb'
    response=requests.get(url)
    filename=url.rsplit('/',1)[1]
    将open(filename,'wb')作为f:
    f、 写(response.content)
    
    请参阅:

  • (阅读响应的
    内容
    属性)
  • (查看关于
    wb
    模式)

  • 本网站使用javascript模块解析此类数据

    import msgpack from "@msgpack/msgpack";
    import fs from 'fs';
    
    let data = fs.readFileSync('/Users/<username>/Downloads/HORSES.fsb');
    
    let d = msgpack.decode(data);
    let keys = Object.keys(d.__s).reduce((a, c) => (a[c] = d.__s[c].split('|'), a), {});
    const res = d.response;
    
    const recurseArray = (a) => {
        if (Array.isArray(a)) {
            if (a.length && Object.keys(keys).includes(a[0])) {
                const k = a.shift();
                return a.reduce((a, c, ci) => (a[keys[k][ci]] = recurseArray(c), a), {});
            }
            else {
                return a.map(recurseArray);
            }
        }
        else {
            return a;
        }
    };
    
    const dt = recurseArray(res);
    
    console.log(JSON.stringify(dt, null, 2));
    
    从“@msgpack/msgpack”导入msgpack;
    从“fs”导入fs;
    让data=fs.readFileSync('/Users//Downloads/HORSES.fsb');
    设d=msgpack.decode(数据);
    设keys=Object.keys(d.uu's).reduce((a,c)=>(a[c]=d.u's[c].split('|'),a),{});
    常数res=d.响应;
    常量递归数组=(a)=>{
    if(数组isArray(a)){
    if(a.length&&Object.keys(key).includes(a[0])){
    常数k=a.shift();
    返回a.reduce((a,c,ci)=>(a[keys[k][ci]]=recurseArray(c,a),{});
    }
    否则{
    返回a.map(recurseArray);
    }
    }
    否则{
    返回a;
    }
    };
    常数dt=递归数组(res);
    log(JSON.stringify(dt,null,2));
    

    使用代码,您可以将JSON文件表示转储到标准输出。

    此网站使用javascript模块解析此类数据

    import msgpack from "@msgpack/msgpack";
    import fs from 'fs';
    
    let data = fs.readFileSync('/Users/<username>/Downloads/HORSES.fsb');
    
    let d = msgpack.decode(data);
    let keys = Object.keys(d.__s).reduce((a, c) => (a[c] = d.__s[c].split('|'), a), {});
    const res = d.response;
    
    const recurseArray = (a) => {
        if (Array.isArray(a)) {
            if (a.length && Object.keys(keys).includes(a[0])) {
                const k = a.shift();
                return a.reduce((a, c, ci) => (a[keys[k][ci]] = recurseArray(c), a), {});
            }
            else {
                return a.map(recurseArray);
            }
        }
        else {
            return a;
        }
    };
    
    const dt = recurseArray(res);
    
    console.log(JSON.stringify(dt, null, 2));
    
    从“@msgpack/msgpack”导入msgpack;
    从“fs”导入fs;
    让data=fs.readFileSync('/Users//Downloads/HORSES.fsb');
    设d=msgpack.decode(数据);
    设keys=Object.keys(d.uu's).reduce((a,c)=>(a[c]=d.u's[c].split('|'),a),{});
    常数res=d.响应;
    常量递归数组=(a)=>{
    if(数组isArray(a)){
    if(a.length&&Object.keys(key).includes(a[0])){
    常数k=a.shift();
    返回a.reduce((a,c,ci)=>(a[keys[k][ci]]=recurseArray(c,a),{});
    }
    否则{
    返回a.map(recurseArray);
    }
    }
    否则{
    返回a;
    }
    };
    常数dt=递归数组(res);
    log(JSON.stringify(dt,null,2));
    

    使用代码,您可以将JSON文件表示形式转储到标准输出中。

    这将允许我正确解析文件中的数据,而不是无法读取?这将允许您按原样下载该文件。解析是另一个主题。你知道文件格式吗?一旦你知道文件格式,你就可以很容易地解析它。例如,我发现的关于“fsb”文件的第一件事是这个,但很可能在你的情况下它是不同的(文件格式)这是一个数据文件,fsb5是音频文件。后端由fsbtech.com提供支持,因此我猜它可能是专有的,不可能解码。这将允许我正确解析文件中的数据,而不是无法读取?这将允许您“按原样”下载该文件。解析是另一个主题。你知道文件格式吗?一旦你知道文件格式,你就可以很容易地解析它。例如,我发现的关于“fsb”文件的第一件事是这个,但很可能在你的情况下它是不同的(文件格式)这是一个数据文件,fsb5是音频文件。后端由fsbtech.com提供支持,所以我猜它可能是专有的,不可能解码。