<p>您可以直接使用内置的<code>max()</code>函数来获取合同和钱包的最大值,而不是所有这些比较</p>
<p>代码如下:</p>
<pre><code>import requests, re, time
from bs4 import BeautifulSoup
from selenium import webdriver
trim = re.compile(r'[^\d,.]+')
driver = webdriver.Chrome('chromedriver.exe')
url = "https://poocoin.app/rugcheck/0x8076c74c5e3f5852037f31ff0093eeb8c8add8d3/top-holders"
driver.get(url)
time.sleep(8)
soup = BeautifulSoup(driver.page_source, 'lxml')
t = soup.find('table', class_='table table-bordered table-condensed text-small')
bigwallet = 0
bigcontract = 0
contractbalance = 0
walletbalance = 0
for row in soup.select("tr:has(td)")[:10]:
addr = row.find_all("td")[0].text[0:]
trans = row.find_all("td")[4].text[0:]
bal = row.find_all("td")[5].text[0:].strip()
tbal = trim.sub('', bal).replace(",", "")
tbal = float(tbal)
wtype = row.find_all("td")[2].text[0:].strip()
if (str(wtype) == "Contract"):
contractbalance = float(tbal)
bigcontract = max(bigcontract, contractbalance)
else:
walletbalance = float(tbal)
bigwallet = max(bigwallet, walletbalance)
print(" {} {:<20} {:<5} {:>5} ".format(addr, bal, trans, wtype))
print (" Largest Contract: {} Largest Wallet: {} ".format(bigcontract, bigwallet))
driver.quit()
</code></pre>
<pre><code> 0x9adc6fb78cefa07e13e9294f150c1e8c1dd566c0 12,705,728,079,579.6744 325911 Contract
0xc95063d946242f26074a76c8a2e94c9d735dfc78 7,745,635,776,415.0881 11 Wallet
0xa8736b9585a01d6dcc1b6e2fc9dc208552c34b58 20,000,000,001,566.1322 6 Contract
0x0000000000000000000000000000000000000001 423,234,579,788,211.4459 159 Contract
0xff3dd404afba451328de089424c74685bf0a43c9 15,372,532,667,134.5367 389418 Contract
0x86b695aaa2600668cec754c7827357626b188054 10,311,474,128,231.8625 9 Wallet
0x010b86c90654905611b31dbfaf5883ba616b9833 0.0000 1 Wallet
0x0add13cde4c61734f46e245b1b5fe3afe9b6bc29 0.0000 1 Wallet
0xc5becfc3771400ac372c3b1a0712899c72f75792 39.1084 1 Wallet
0xcc64ea842fcde4283cf239259f7462ef809c44fd 149,028.9837 36 Wallet
Largest Contract: 423234579788211.44 Largest Wallet: 10311474128231.863
</code></pre>