微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决使用 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.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?