Python 需要解析一些API数据的指导吗
我正在从事一个项目,在这个项目中,我正在编写scraper bots,以便直接从网站api检索信息。我遇到了一些我以前从未见过的东西,如果可能的话,我需要一些帮助来解析数据 以下是我正在使用python请求从API检索的数据: 以下是API URL: 谁能提供一些指导?甚至可以做到吗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/
先谢谢你们,伙计们 该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提供支持,所以我猜它可能是专有的,不可能解码。