json 将API请求中的条目数限制为10

jjjwad0x  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(183)

我尝试创建一个循环来调用API并将最近的10个结果打印到控制台。

def searchLoop(contract_address):
    while True:

        response = requests.get(api_url, params={
            "module": "logs",
            "action": "getLogs",
            "address": contract_address,
            "startblock": "-10000",
            "endblock": "latest",
            "apikey": api_key
        })
        transactions = response.json()["result"]
        
        print(transactions)
        time.sleep(5)

它工作,但我不知道我可以限制它,使它只显示我的前10个完整的结果,而不是17它目前显示我之前,我得到限速?有什么建议吗?

vmjh9lq9

vmjh9lq91#

嗨,我会调整你的while循环,使其在事务长度为10时停止。我不能在我的机器上运行你的代码,但它看起来有点像这样。

def search_loop(contract_address):
    #here I am assuming that transactions is a list of dictionaries. let me know if it is not.
    transactions = []
    while len(transactions) <= 9:
        response = requests.get(api_url, params={
            "module": "logs",
            "action": "getLogs",
            "address": contract_address,
            "startblock": "-10000",
            "endblock": "latest",
            "apikey": api_key
        })

        transactions.append(response)
        
        print(transactions)
        time.sleep(5)

很抱歉我不能在我的机器上测试它是否工作。根据代码的意图和每次事务可能结束的时间/所有这些发生的速度,您可以使用

my_list_of_transactions = transactions[:9]

return my_list_of_transactions

要结束函数,

相关问题