Skip to content

Instantly share code, notes, and snippets.

@oro2714
Created September 7, 2018 05:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save oro2714/6b3e37d0f5ab83f02030cf6237201d0c to your computer and use it in GitHub Desktop.
Save oro2714/6b3e37d0f5ab83f02030cf6237201d0c to your computer and use it in GitHub Desktop.
import csv
import os
import csv
from joblib import Parallel, delayed
import requests
from datetime import datetime
addrs1 = []
with open("addres_v5.csv", "r") as f:
reader = csv.reader(f)
for row in reader:
addrs1.append(row)
addrs = [a[0] for a in addrs1]
def update(k,addrs):
def getbalance(i, addrs):
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
n = len(addrs)
data = []
while i < n:
sys.stdout.write("\r%d" % i)
sys.stdout.flush()
url = "https://mona.chainsight.info/api/addr/" + addrs[i] + "/balance"
res = requests.get(url, headers=headers).text
data += [[addrs[i], res]]
i += 10
return data
r = Parallel(n_jobs=-1)([delayed(getbalance)(i, addrs) for i in range(10)])
data = []
for e in r:
data += e
with open('balance_'+str(k)+'.csv', 'w') as f2:
writer = csv.writer(f2, lineterminator='\n')
writer.writerows(data)
data = [e for e in data if int(e[1]) > 0]
data2 = []
for e in data:
if len(e) < 8:
a = "0" * (9 - len(e[1])) + e[1]
else:
a = e
data2 += [[e[0], a[:-8] + "." + a[-8:]]]
print(data2)
data2 += [["total", sum([float(e[1]) for e in data2])]]
data2 += [["time",datetime.now().strftime("%Y/%m/%d %H:%M:%S")]]
with open('final_balance_'+str(k)+'.csv', 'w') as f2:
writer = csv.writer(f2, lineterminator='\n')
writer.writerows(data2)
k=1
while True:
update(k,addrs)
new=[]
with open('balance_'+str(k)+'.csv', "r") as f:
reader = csv.reader(f)
for row in reader:
new.append(row)
old=[]
with open('balance_'+str(k-1)+'.csv', "r") as f:
reader = csv.reader(f)
for row in reader:
old.append(row)
changelog=[[new[i][0],float(new[i][1])-float(old[i][1])] for i in range(len(addrs))]
with open('changelog' + str(k) + '.csv', 'w') as f2:
writer = csv.writer(f2, lineterminator='\n')
writer.writerows(changelog)
k+=1
time.sleep(7200)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment