第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

以太坊token持有情況分析跟蹤

標(biāo)簽:
區(qū)塊鏈

analysis.png

背景

  • 最近很多企业都在做机器人(bot),像微软的小冰,微软的小度,包括我最近在用的小米的小爱,一方面是在趁热度提升自己公司的知名度,另一方面就是在收集用户的数据,提升模型的准确性。但是bot在金融领域的应用很少,更不用说在股市和虚拟货币市场领域。

  • 我的想法是这样的,对于虚拟货币市场的货币走势可以进行分析,当然这个分析可能意义不大,但是如果有很多小的点汇集在了一起,那整体的作用就不容忽视了。

工具

code for token 情况分析跟踪

  • 基于python3

  • 用flask暴露restful接口

  • 用beautifulsoup 作为html解析器

  • 接口一共有三个参数

  • address ->  是以太坊合约地址

  • page -> 以太坊某个合约地址的排名页码(固定每页显示50)

  • topN -> topN的持有量 ,最大为50

  • github链接

  • 主题流程

import requestsfrom bs4 import BeautifulSoupfrom flask import Flaskfrom flask import requestclass TokenHolder:
    
    def __init__(self,rank,address,balance,percentages):
        self.rank = rank
        self.address = address
        self.balance = balance
        self.prcentages = percentages    def __str__(self):
        return str(self.__dict__)    
def getSumPercentagesByAddressAndPage(contract_address,page,topN):
    url_prefix = "https://etherscan.io/token/generic-tokenholders2?a="
    url_suffix = "&s=1E%2b28&p="
    request_url = url_prefix + contract_address + url_suffix + str(page);
    print(request_url)
    page = requests.get(request_url)
    soup = BeautifulSoup(page.content, 'html.parser')    return getTopNSumPercentage(soup,topN)
  • 解析页面细节处理

def getTopNSumPercentage(soup,n):
    total = 0.0
    index = 1
    if n > 50:
        n = 50
    if n < 0:
        n = 50
    for row in soup.find_all('tr')[1:]:        if index > n:            break
        percentages = str(row.find_all("td")[3].text)
        b = mapToFloat(percentages)
        total = total + b 
        index = index + 1
    return str(total*10) + "%"def getRankNDetail(n):
    total = 0.0
    index = 1
    if n > 50:
        n = 50
    if n < 0:
        n = 50
    row = soup.find_all('tr')[n]    return getRowDetail(row)def getRowDetail(row):
    rowInfo = row.find_all("td")
    rank = rowInfo[0].text
    address = rowInfo[1].text
    balance = rowInfo[2].text
    percentages = rowInfo[3].text    return TokenHolder(rank,address,balance,formatPercentages(percentages))    for td in row.find_all("td"):
        print(td.text)def formatPercentages(n):
    new =  float(n.replace("%",""))    return str(new*10)+"%";def mapToFloat(n):
    return  float(n.replace("%",""))
  • 暴露接口

app = Flask(__name__)@app.route('/')def index():
    page = request.args.get('page', default = 1, type = int)
    address = request.args.get('address', default = '0xa4e8c3ec456107ea67d3075bf9e3df3a75823db0', type = str)
    topN = request.args.get('topN', default = 50, type = int)    return getSumPercentagesByAddressAndPage(address,page,topN);if __name__ == '__main__':
    app.run(host='127.0.0.1',port=3366)
  • 可以看到Top50持有量达到了百分之82,可以实时观察这个数值来进行分析


    result.png



作者:freelands
链接:https://www.jianshu.com/p/99f1c53e9475

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消