使用 itertools 在 Python Beautifulsoup 中过滤数据组结果

问题描述

该片段由@Andrej Kesely 提供,运行良好,但需要进一步简化结果数据以提高可读性。用于实现所需改进的其他想法将非常有帮助。

plot!

电流输出

import requests
from bs4 import BeautifulSoup
from itertools import groupby
from time import sleep

url = "https://bscscan.com/tokentxns"
soup = BeautifulSoup(requests.get(url).content,"html.parser")

data = []
for tr in soup.select("tr:has(td)"):
    tds = [td.get_text(strip=True) for td in tr.select("td")]
    _,txn_hash,tm,age,from_,_,to_,value,token = tds
    a = tr.select("a")[-1]["href"][7:]
    data.append((a,token))

data = sorted(data)
for _,g in groupby(data,lambda k: k[0]):
    g = list(map(list,g))
    total = sum(float(s.replace(",","").replace("'","")) for _,s,*_ in g)
    total = [f"{total:,} TOTAL",*[""] * (len(g) - 1)]
    trans = [f"{len(g)} TRANS",*[""] * (len(g) - 1)]
    for subl in g[1:]:
        subl[0] = ""
  
    for tr,t,subl in zip(trans,total,g):
        print("{:<10} {:<45} {:<35} {:<30} {:<10}".format(tr,*subl,t))
    print()

需要改进的输出:#-- 汇总结果集

3 TRANS    0x5941f87eb62737ec5ebbecab3e373c40fe40566b    148.549751978          Moon Nation ...(MNG)    6,981.838342967 TOTAL
                                                         148.549751978          Moon Nation ...(MNG)                     
                                                         6,684.738839011        Moon Nation ...(MNG)                                                             
2 TRANS    0xacb2d47827c9813ae26de80965845d80935afd0b    0.020495049504950495   MacaronSwap ...(MCRN)   0.22544554455445542 TOTAL
                                                         0.20495049504950495    MacaronSwap ...(MCRN)                    
8 TRANS    0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c    0.007499944888796266   Wrapped BNB (WBNB)      2.2045111407858444 TOTAL
                                                         0.013925651474219129   Wrapped BNB (WBNB)                       
                                                         0.0317943              Wrapped BNB (WBNB)                       
                                                         0.063495493859384612   Wrapped BNB (WBNB)                       
                                                         0.069626394590622519   Wrapped BNB (WBNB)                       
                                                         0.227799277696211921   Wrapped BNB (WBNB)                       
                                                         0.310825078276609791   Wrapped BNB (WBNB)                       
                                                         1.479545               Wrapped BNB (WBNB)             
 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...