我正在使用一个API:https://app.omie.com.br/developer
问题是我需要将请求放在一个循环中,以某些方法获取所有页面。当我转储这个文件时,我遇到了一个问题:json文件打开并关闭每个循环,所以我不能将它们全部放入一个文件中。你知道吗
有没有什么方法可以忽略每个json响应的第一行和最后一行?你知道吗
import requests
import json
response = str(requests.get('https://app.omie.com.br/api/v1/financas/contapagar/?JSON={"call":"ListarContasPagar","app_key":"1560731700","app_secret":"226dcf372489bb45ceede61bfd98f0f1","param":[{"pagina":1,"registros_por_pagina":20,"apenas_importado_api":"N"}]}'))
if response != "<Response [200]>":
print("Invalid Data")
else:
response = requests.get('https://app.omie.com.br/api/v1/financas/contapagar/?JSON={"call":"ListarContasPagar","app_key":"1560731700","app_secret":"226dcf372489bb45ceede61bfd98f0f1","param":[{"pagina":1,"registros_por_pagina":20,"apenas_importado_api":"N"}]}').json()
for i in range(1, response["total_de_paginas"] + 1):
response = requests.get('https://app.omie.com.br/api/v1/financas/contapagar/?JSON={"call":"ListarContasPagar","app_key":"1560731700","app_secret":"226dcf372489bb45ceede61bfd98f0f1","param":[{"pagina":%s,"registros_por_pagina":20,"apenas_importado_api":"N"}]}'%i).json()
if i == 1:
mode = "w"
else:
mode = "a"
with open("resultado.json", mode) as rs:
json.dump(response,rs, indent=4)
with open("resultado.json", "a") as rs: #I added this line expecting that would help fixing my problem, but it didn't
rs.write(",\n")
print("Page completed: %s" %i)
Json文件的第一行和最后一行如下所示:
第一
{
"registros": 20,
"conta_pagar_cadastro": [
最后
],
"total_de_paginas": 11,
"total_de_registros": 215,
"pagina": 1
},
{
其中最后一个“{”是下一页json响应的开始。你知道吗
我需要在运行代码时忽略这些行。 我该怎么做?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐