【发布时间】:2021-09-20 11:06:29
【问题描述】:
我试图弄清楚为什么 sn-p get_transfer_count 部分不起作用。我过去使用过这个代码,直到最近都很好。
import requests
from bs4 import BeautifulSoup
header = {
"User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:92.0) Gecko/20100101 Firefox/92.0",
}
tokenurl = (
"https://bscscan.com/token/0xe56842ed550ff2794f010738554db45e60730371"
)
token = "0xe56842ed550ff2794f010738554db45e60730371"
contractpage = requests.get(tokenurl, headers=header)
ca = BeautifulSoup(contractpage.content, "html.parser")
name = ca.h1.span.get_text(strip=True)
price = ca.select_one(".card-body .d-block").get_text(strip=True)
cap = ca.select_one("#pricebutton").get_text(strip=True)
def get_transfer_count(str:token)->str:
with requests.Session() as s:
s.headers = {'User-Agent':'Mozilla/5.0'}
r = s.get(f'https://bscscan.com/token/{token}')
try:
sid = re.search(r"var sid = '(.*?)'", r.text).group(1)
r = s.get(f'https://bscscan.com/token/generic-tokentxns2?m=normal&contractAddress={token}&a=&sid={sid}&p=1')
return re.search(r"var totaltxns = '(.*?)'", r.text).group(1)
except:
pass
transcount = get_transfer_count(token)
print("Token:", name)
print("PRICE:", price)
print("Fully Diluted Market Cap:", cap)
print ("Transfer: ", transcount)
print()
上一个输出:
Token: Binemon
PRICE: $0.02@ 0.000040 BNB(-17.38%)
Fully Diluted Market Cap: $15,003,573.00
Transfer: 440,283
预期输出:
Token: Binemon
PRICE: $0.02@ 0.000040 BNB(-17.38%)
Fully Diluted Market Cap: $15,003,573.00
Transfer: 440,283 #-- this part no longer works
【问题讨论】:
-
您应该在您的情况下指定“不工作”的含义。另外,请包括您尝试调试的内容。
标签: python python-3.x beautifulsoup webrequest