如何从网站获取数字以供 Android 应用使用 [关闭]

Posted

技术标签:

【中文标题】如何从网站获取数字以供 Android 应用使用 [关闭]【英文标题】:How to get a number from a website for an an android app use [closed] 【发布时间】:2021-10-22 09:40:19 【问题描述】:

我有一个关于从网站抓取数据的问题。

我想用这个汇率网站来获取从美元兑换成欧元后的兑换金额:

https://www.paysera.com/v2/en-DZ/fees/currency-conversion-calculator#/?locale=lt&clientType=natural&from_currency=USD&from_amount=100&to_currency=EUR

我发现如果你在 from_amount= 之后和 &to_currency=EUR (XXX) 之前添加任何数字,它会计算出该确切金额的汇率;汇率不是恒定的,所以取决于金额。

我想做的是让用户输入金额(inpDollar),然后将其添加到 from_amount=&to_currency=EUR 之间;然后将金额提取为数字。

我想要的金额的确切位置显示在此屏幕截图中

https://i.imgur.com/79xGeG9.png

我已经阅读了一些关于 Jsoup 和 Selenium 的主题,我已经将它们添加到我的依赖项中,但是我没有编写这种代码的必要知识。

我想在 android 应用程序 (android studio) 中使用它来自动执行一些计算。

感谢您的帮助。

【问题讨论】:

您尝试抓取的网站似乎是一个 Angular 应用程序。 This 似乎相关。 【参考方案1】:

我希望这是您正在寻找的。请查看以下代码,如果您对此有任何疑问,请告诉我。

在下面的代码中,要求用户输入美元值 [请在编辑器中输入美元值并按回车键]。该值在 URL 中使用,当页面打开时,将检索所需的值。

import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.By;

WebDriver driver = new ChromeDriver();
WebDriverWait wait = new WebDriverWait(driver, 30);

Scanner input = new Scanner(System.in);
System.out.print("Enter the Dollar Value :- ");
String dollarValue = input.nextLine();


driver.get(String.format("https://www.paysera.com/v2/en-DZ/fees/currency-conversion-calculator#/?locale=lt&client" +
    "Type=natural&from_currency=USD&from_amount=%s&to_currency=EUR", dollarValue));

String calculatedValue = wait.until(ExpectedConditions.visibilityOfElementLocated(
    By.xpath("//span[@class=\"commercial-rate\"]/span"))).getText();
System.out.println("CalculatedValue is " + calculatedValue);

要在后台启动浏览器,您可以使用以下代码 -

ChromeOptions options = new ChromeOptions();
options.addArguments("--headless", "--silent");

注意 - 我上面提到的所有类都必须导入。如果我忘记了,也请导入它们。

【讨论】:

谢谢,这对我的想法很有效,我刚刚添加了驱动程序路径 System.setProperty("webdriver.chrome.driver", "C:/Users/userPC/chromedriver.exe") ;我怎样才能在应用程序内的 android studio 上做到这一点?

以上是关于如何从网站获取数字以供 Android 应用使用 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何配置一个网站,该网站对 YouTube 凭据进行身份验证以供控制台应用程序使用?

如何从 https 网站获取 http 内容?

如何在flutter mobile中保存网站以供离线使用

获取 BrightCove 视频的 URL 以供下载和流式传输

如何在 JavaScript 中保存网站以供离线使用

Android WebView 未从缓存中加载第二页