我正在编写一个脚本,用于定位并打印该网站最近交易的交易金额https://ltc.tokenview.io/en/address/M8T1B2Z97gVdvmfkQcAtYbEepune1tzGua
这是我正在尝试使用的代码。
def getRecentTransaction(address):
r = requests.get(f'https://ltc.tokenview.io/en/address/{address}')
time.sleep(5)
soup = BeautifulSoup(r.text, 'html.parser')
amount = soup.find(class_="input_value")
amountStuff = amount.text.strip()
print(amountStuff)
然而这只是返回“none”。现在我知道网站上有多个“输入值”类,但是当我找到所有类时,我得到了“[]”。我能够检索文本的唯一方法是使用 selenium 的 Xpath 函数。但是,我正在尝试编写此内容,以便人们只需输入地址即可获取最近的交易金额。 Xpath 方法太具体了。
如有任何帮助,我们将不胜感激!
您在页面上看到的数据是在javascript的帮助下加载的,因此BeautifulSoup看不到它。要获取数据,您可以执行以下操作:
import requests
api_url = "https://ltc.tokenview.io/api/address/balancetrend/ltc/M8T1B2Z97gVdvmfkQcAtYbEepune1tzGua"
data = requests.get(api_url).json()
# print most recent:
print(data["data"][0])
打印:
{'2024-01-06': '2504667.37296058'}
最近交易:
import re
import requests
url = "https://ltc.tokenview.io/en/address/M8T1B2Z97gVdvmfkQcAtYbEepune1tzGua"
html_text = requests.get(url).text
inp, out = re.search(r'value:"([^"]+).*?value:"([^"]+)', html_text).groups()
print(f"{inp=} {out=}")
打印:
inp='0.02387814' out='0.02319739'