我有几个关于python的问题
我正在尝试制作python脚本,它从bscscan.com获取数据,并在终端中显示给我 想法:当我输入代币的合同地址时,我想获得该合同地址的详细信息,代码如下 我的第一个问题是如何为我有几个关于python的问题,python,python-3.x,beautifulsoup,Python,Python 3.x,Beautifulsoup,我正在尝试制作python脚本,它从bscscan.com获取数据,并在终端中显示给我 想法:当我输入代币的合同地址时,我想获得该合同地址的详细信息,代码如下 我的第一个问题是如何为mcapa获取正确的数据mcapa显示错误信息,如 这是121048美元,而不是121048400.00美元 第二个问题是显示“121000000busd(CSupply:95562821.092145)”的totalbox及其正确性,但我只想得到“121000000busd” 我不知道该怎么做:/I我尝试了剥离和剥
mcapa
获取正确的数据<代码>mcapa显示错误信息,如
这是121048美元,而不是121048400.00美元
第二个问题是显示“121000000busd(CSupply:95562821.092145)”的totalbox
及其正确性,但我只想得到“121000000busd”
我不知道该怎么做:/I我尝试了剥离和剥离,但我没有得到我想要的信息
谢谢你的建议
import requests
from bs4 import BeautifulSoup
#print holders
cotractpage = requests.get("https://bscscan.com/token/0xe9e7cea3dedca5984780bafc599bd69add087d56")
soupa = BeautifulSoup(cotractpage.content, 'html.parser')
tokenholders = soupa.find(id='ContentPlaceHolder1_tr_tokenHolders').get_text()
tokenholdersa = "Holders: " + ((((tokenholders.strip()).strip("Holders:")).strip()).strip(" a ")).strip()
print(tokenholdersa)
#print decimal
decimal = soupa.find(id='ContentPlaceHolder1_trDecimals').get_text()
decimala = "Decimal: " + ((((decimal.strip()).strip("Decimals:")).strip()).strip()).strip()
print(decimala)
#print website
website = soupa.find(id='ContentPlaceHolder1_tr_officialsite_1').get_text()
websitea = "Website: " + ((((website.strip()).strip(" Official Site:")).strip()).strip()).strip()
print(websitea)
#print name
website = soupa.find('span', class_='text-secondary small').get_text()
tokename = "Name: " + website
print(tokename)
#printprice
price = soupa.find(id='ContentPlaceHolder1_tr_valuepertoken')
pricebox = price.find('span', class_='d-block').get_text()
print("Price: " + (pricebox).strip())
#print marketcap
mcap = soupa.find(id='ContentPlaceHolder1_tr_valuepertoken').get_text()
mcapa = ((((mcap.strip()).strip("Price")).strip(pricebox)).strip("Market Cap")).strip()
print("Market Cap: " + mcapa)
#print totalsupply
totalbox = soupa.find('div', class_='col-md-8').get_text()
print("Total Supply: " + totalbox)
您的脚本几乎正确,只是做了一些小的调整:
import re
import requests
from bs4 import BeautifulSoup
#print holders
cotractpage = requests.get("https://bscscan.com/token/0xe9e7cea3dedca5984780bafc599bd69add087d56")
soupa = BeautifulSoup(cotractpage.content, 'html.parser')
tokenholders = soupa.find(id='ContentPlaceHolder1_tr_tokenHolders').get_text()
tokenholdersa = "Holders: " + ((((tokenholders.strip()).strip("Holders:")).strip()).strip(" a ")).strip()
print(tokenholdersa)
#print decimal
decimal = soupa.find(id='ContentPlaceHolder1_trDecimals').get_text()
decimala = "Decimal: " + ((((decimal.strip()).strip("Decimals:")).strip()).strip()).strip()
print(decimala)
#print website
website = soupa.find(id='ContentPlaceHolder1_tr_officialsite_1').get_text()
websitea = "Website: " + ((((website.strip()).strip(" Official Site:")).strip()).strip()).strip()
print(websitea)
#print name
website = soupa.find('span', class_='text-secondary small').get_text()
tokename = "Name: " + website
print(tokename)
#printprice
price = soupa.find(id='ContentPlaceHolder1_tr_valuepertoken')
pricebox = price.find('span', class_='d-block').get_text()
print("Price: " + (pricebox).strip())
#print marketcap
mcapa = soupa.find(id='ContentPlaceHolder1_tr_valuepertoken').get_text()
print("Market Cap: " + re.search(r'Market Cap.*?([$\d,.]+)', mcapa, flags=re.S).group(1)) # <--- we want only amount after "Market Cap"
#print totalsupply
totalbox = soupa.find('div', class_='col-md-8').get_text().split('(')[0].strip() # <--- we want only first part of the string
print("Total Supply: " + totalbox)
或者,如果您不想将正则表达式用于
mcap
:
#print marketcap
mcapa = soupa.find(id='ContentPlaceHolder1_tr_valuepertoken').find(id='pricebutton').get_text(strip=True)
print("Market Cap: " + mcapa)
您的脚本几乎正确,只是做了一些小的调整:
import re
import requests
from bs4 import BeautifulSoup
#print holders
cotractpage = requests.get("https://bscscan.com/token/0xe9e7cea3dedca5984780bafc599bd69add087d56")
soupa = BeautifulSoup(cotractpage.content, 'html.parser')
tokenholders = soupa.find(id='ContentPlaceHolder1_tr_tokenHolders').get_text()
tokenholdersa = "Holders: " + ((((tokenholders.strip()).strip("Holders:")).strip()).strip(" a ")).strip()
print(tokenholdersa)
#print decimal
decimal = soupa.find(id='ContentPlaceHolder1_trDecimals').get_text()
decimala = "Decimal: " + ((((decimal.strip()).strip("Decimals:")).strip()).strip()).strip()
print(decimala)
#print website
website = soupa.find(id='ContentPlaceHolder1_tr_officialsite_1').get_text()
websitea = "Website: " + ((((website.strip()).strip(" Official Site:")).strip()).strip()).strip()
print(websitea)
#print name
website = soupa.find('span', class_='text-secondary small').get_text()
tokename = "Name: " + website
print(tokename)
#printprice
price = soupa.find(id='ContentPlaceHolder1_tr_valuepertoken')
pricebox = price.find('span', class_='d-block').get_text()
print("Price: " + (pricebox).strip())
#print marketcap
mcapa = soupa.find(id='ContentPlaceHolder1_tr_valuepertoken').get_text()
print("Market Cap: " + re.search(r'Market Cap.*?([$\d,.]+)', mcapa, flags=re.S).group(1)) # <--- we want only amount after "Market Cap"
#print totalsupply
totalbox = soupa.find('div', class_='col-md-8').get_text().split('(')[0].strip() # <--- we want only first part of the string
print("Total Supply: " + totalbox)
或者,如果您不想将正则表达式用于
mcap
:
#print marketcap
mcapa = soupa.find(id='ContentPlaceHolder1_tr_valuepertoken').find(id='pricebutton').get_text(strip=True)
print("Market Cap: " + mcapa)