Использование Python для обхода переменных в запросе API - PullRequest
0 голосов
/ 10 мая 2018

Я хочу использовать один скрипт, чтобы сделать серию вызовов API для списка адресов / идентификаторов. Проблема в том, что когда я запускаю скрипт, я в конечном итоге получаю таймаут. В других случаях переменная адреса, встроенная в data_request, не распознается. Ниже мой текущий код.

import requests
import json
import csv
import pandas as pd
import time

    with open('TransactionHistory.csv','a') as f: 
        while True:
            addresses=["0xe3457148b4f535b7a42bf6aaa06c6c92a0b9f9cb", "0xad8f33994ec88ab208ada1d286b41c4a39515aed"]
                for address in addresses:

                data_request=requests.get("http://api.etherscan.io/api? module=account&action=txlist&address="+address+"=5585000&endblock=5590000&sort=asc&apikey=SZAEWWTN9YXQNR4X593AUDB7Y5323D6CAE") 
                json=data_request.json()
                df = pd.DataFrame(json,dtype=object,index=[0])
                [df.to_csv(f, header=False) for i in range (1)] 
                time.sleep(120) 

1 Ответ

0 голосов
/ 11 мая 2018

В вашем коде есть "while True:", так что похоже, что он будет зацикливаться вечно.Большинство общедоступных API имеют ограничение по тарифу / звонку и истекают после того, как вы его достигнете.Я предполагаю, что вы используете API до тех пор, пока он просто не перестанет отвечать на ваши вопросы.

Попробуйте удалить цикл «while True» и пройтись по своему коду, чтобы увидеть, имеет ли он логический смысл.

...