【发布时间】:2019-09-07 06:26:46
【问题描述】:
我正在尝试从这个网站获取数据。
https://api.etherscan.io/api?module=account&action=tokentx&contractaddress=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&page=1&offset=100&sort=asc&apikey=YourApiKeyToken
但是,当我执行以下代码时,我不断收到错误
import pandas as pd
import json
import urllib.request
from urllib.request import FancyURLopener
url = 'https://api.etherscan.io/api?module=account&action=tokentx&contractaddress=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&page='
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36'}
request_interval = 2 # interval
urls = []
df = []
if __name__ == '__main__':
for i in range(1, 2):
url = urllib.parse.urljoin(url, '&page='+str(i)+'&offset=10000&sort=asc&apikey=YourApiKeyToken')
urls.append(str(url))
for url in urls:
headers = {"User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0"}
request = urllib.request.Request(url=url, headers=headers)
html = urllib.request.urlopen(request).read()
result = json.loads(html.decode('utf-8'))['blockNumber']
df.extend(json.loads(html.decode('utf-8'))['blockNumber'])
print('Completed URL : ', url)
pdf = pd.DataFrame(df)
pdf.to_csv("output.csv")
我已经尝试了几种解决方案,我在这里找到了 Stackoverflow。
urllib2.HTTPError: HTTP Error 400: Bad Request - Python
urllib2 HTTP Error 400: Bad Request
我也变了
headers = {"User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0"}
和
{'Authorization': auth,
'Content-Type':'application/json',
'Accept':'application/json'}
但仍然出现同样的错误。
谢谢
【问题讨论】:
标签: python python-3.x