Я написал скрипт, который получает в качестве входных адресов биткойны и загружает все блоки, содержащие транзакции двух входных адресов, из blockchain.info. Общее количество блоков: 6013
Проблема в том, что я постоянно получаю случайные ошибки. Последняя ошибка, которую я получил:
request.exceptions.ConnectionError: ('Соединение прервано.', RemoteDisconnected ('Соединение с удаленным концом закрыто без ответа',))
Я сохраняю соответствующие значения переменных до сбоя, чтобы в следующий раз начать с них.
Идентификатор, если он связан, но я получал много 500 кодов состояния. Поэтому каждый раз, когда посылается код состояния 500, я устанавливаю таймер на 20 ", прежде чем снова пытаюсь подключиться к серверу.
Я предоставлю код для подключения.
for line in tmp:
words = line.split(",")
s = words[2]
s2 = words[1]
print("Block Index: ", s, "Block Height: ", s2)
with requests.Session() as keep_alive:
url = "https://blockchain.info/rawblock/" + str(s)
response = keep_alive.get(url, stream = True)
if response.status_code == 200:
print("Status code: ", response.status_code)
increase = 0
sc = response.status_code #status code
while sc == 500 or sc == 104:
print("Status code: ", response.status_code)
print("Server side message: ", response.text)
response.close()
t = 20
while t:
mins, secs = divmod(t, 60)
timeformat = '{:02d}:{:02d}'.format(mins, secs)
print(timeformat, end='\r')
time.sleep(1)
t -= 1
response = keep_alive.get(url, stream = True)
print("Status code: ", response.status_code)
data = response.json()
На данный момент я понятия не имею.