Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我有几个关于python的问题_Python_Python 3.x_Beautifulsoup - Fatal编程技术网

我有几个关于python的问题

我有几个关于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我尝试了剥离和剥

我正在尝试制作python脚本,它从bscscan.com获取数据,并在终端中显示给我

想法:当我输入代币的合同地址时,我想获得该合同地址的详细信息,代码如下

我的第一个问题是如何为
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)