・なにがしたいのか
以下を実行するとAPIから情報を取得できるのですが、
page_no=1だけでなく一括でAPI上の全件データを取得する方法はあるのでしょうか?
python
1from etherscan import accounts 2import pandas as pd 3import datetime as dt 4API_KEY = 'xxxxxx 5ADDRESS = 'xxxxxx' 6 7def get_tx_value(page_no, address, api_key): 8 ac = accounts.Account(address=address,api_key=api_key) 9# txes = ac.get_all_transactions() 10 txes = ac.get_transaction_page(page_no) 11 12 ret = [] 13 for t in txes: 14 tmp = [] 15 tmp.append(t.get('hash')) 16 tmp.append(t.get('from')) 17 tmp.append(t.get('to')) 18 tmp.append(int(t.get('value')) / 1000000000000000000 ) 19 tmp.append(dt.datetime.fromtimestamp(int(t.get('timeStamp')))) 20 ret.append(tmp) 21 return ret 22 23ret = get_tx_value(page_no=1, address=ADDRESS,api_key=API_KEY) 24df = pd.DataFrame(ret,columns=['hash','from','to','value','datetime']) 25df.to_csv('txes.tsv',sep='\t')
・なにを試したのか
以下を参考にget_all_transactionsを実行しました
https://github.com/corpetty/py-etherscan-api/blob/master/examples/accounts/get_all_transactions.py
python
1from etherscan.accounts import Account 2import json 3 4with open('../../api_key.json', mode='r') as key_file: 5 key = json.loads(key_file.read())['key'] 6 7address = '0x49edf201c1e139282643d5e7c6fb0c7219ad1db7' 8 9api = Account(address=address, api_key=key) 10transactions = api.get_all_transactions(offset=10000, sort='asc', 11 internal=False) 12 13print(transactions[0])
・なにが問題なのか
不明
・なんのエラーが出ているのか
****MacBook-Pro:accounts home$ python get_all_transactions.py page 1 added Traceback (most recent call last): File "get_all_transactions.py", line 11, in <module> internal=False) File "/anaconda3/lib/python3.6/site-packages/py_etherscan_api-0.8.0-py3.6.egg/etherscan/accounts.py", line 92, in get_all_transactions File "/anaconda3/lib/python3.6/site-packages/py_etherscan_api-0.8.0-py3.6.egg/etherscan/client.py", line 123, in connect etherscan.client.EmptyResponse: <Err: No transactions found>