Python “我怎么刮呢?”;净值;来自YieldWatch?
我想根据以下内容刮取一个网站:Python “我怎么刮呢?”;净值;来自YieldWatch?,python,selenium,web-scraping,Python,Selenium,Web Scraping,我想根据以下内容刮取一个网站: 去 在地址文本框中输入0xf542747f717b1ab52ba0d3a7cbf635f856a0d,然后单击双筒望远镜 删去“净值”下的文字 我正在Python中使用Selenium进行尝试,以下是我迄今为止的尝试: from selenium.webdriver import Safari # pip install selenium from selenium.webdriver.support.ui import WebDriverWait url =
0xf542747f717b1ab52ba0d3a7cbf635f856a0d
,然后单击双筒望远镜from selenium.webdriver import Safari # pip install selenium
from selenium.webdriver.support.ui import WebDriverWait
url = 'https://www.yieldwatch.net/'
bsc_public_key = '0xF54274757Bf717B1ab52bA0d3a7CbF635f856a0d'
# with closing(Safari()) as browser:
browser = Safari()
browser.get(url)
textbox = browser.find_element_by_id('addressInputField')
textbox.clear()
textbox.send_keys(bsc_public_key)
button = browser.find_element_by_class_name('binoculars icon')
button.click()
# # wait for the page to load
WebDriverWait(browser, timeout=20).until(
lambda x: x.find_element_by_id('ui centered image'))
# store it to string variable
page_source = browser.page_source
print(page_source)
代码不起作用。浏览器加载后,我看不到用地址填充的文本框。我如何在Python中做到这一点(使用或不使用Selenium)?您正在尝试读取以用户界面为中心的图像元素文本,但它仍然没有显示最终值。
请尝试等待位于(By.XPATH,//div[@class='content']//div[@class='header']])的\u元素的
不可见性\u
然后再从
ui-centered image
元素中读取文本。你真的不需要selenium
的重炮。您可以从API端点获取所有数据
以下是方法:
import requests
wallet = "0xF54274757Bf717B1ab52bA0d3a7CbF635f856a0d"
endpoint = f"https://www.yieldwatch.net/api/all/{wallet}?platforms=beefy,pancake,hyperjump,auto,mdex"
wallet_data = requests.get(endpoint).json()["result"]
# https://yieldwatch.medium.com/yieldwatch-faqs-93c2cde244bf
# Net Value = Total Deposit + Total Yield + Wallet Balance — Total Debt
total = sum(v["totalUSDValues"]["total"] for v in wallet_data["PancakeSwap"].values())
net_worth = total + wallet_data["walletBalance"]["totalUSDValue"]
print(f"Net worth for {wallet}:\n{round(net_worth, 2)}")
这将输出最新的净值:
Net worth for 0xF54274757Bf717B1ab52bA0d3a7CbF635f856a0d:
2213.13
注意:上面说你需要总债务
来计算净值,但是这个钱包没有任何债务,所以我没有在等式中包括价值
但是,如果您的钱包欠债,请与他人分享,我会更新答案。真不错!你是如何知道API是如何工作的?