gpt4 book ai didi

java - 从没有 API 的网站检索信息

转载 作者:行者123 更新时间:2023-12-01 12:19:41 26 4
gpt4 key购买 nike

我正在开发一个 Android 应用程序,它是用 Java 编程的。我以前使用过 API,但我想知道是否可以在没有 API 的情况下检索信息。

例如,尝试检索营业时间 found here 。如果我单击营业时间上的检查元素,我可以看到它们位于名为“小时”的标题下。我可以利用这些 HTML 标签来发挥我的优势吗? IE。捕获该标题/段落,解析它,然后检索所需的结果。

谢谢!

PS。对于新手问题,我深表歉意,我不确定如何正确措辞,以便收到相关的 Google 结果。

最佳答案

我想添加一些内容来评论@Luciano Rodríguez。

如您所知,您可以读取 HTTP 响应的内容,然后将其解析为 HTML。正如您所提到的,您可以访问特定元素并获取其值。

现在的问题是您的应用程序应该有多通用。例如,如果您想从一个特定站点获取几个字段,那么您已经拥有所有工具。获取 HTML,使用可用的 HTML 解析器之一解析它以提取数据,然后就完成了。

但是,如果您正在构建应该支持各种站点并且可配置的通用应用程序,那么您就会遇到问题。

首先,您必须能够从 DOM 中提取任何数据。我个人现在正在从事类似的任务。我使用 HTMLCleaner 从 HTML 获取 DOM,并使用 XPath 来配置有趣的节点。但这还不是全部。现代网站非常动态。通常,信息不是在服务器站点以 HTML 形式生成,而是由客户端站点上运行的 JavaScript 动态构建。支持这样的案件并不简单。一般来说,我想到的有两种方法:

  1. 使用功能齐全的 headless 浏览器来运行 Web 应用程序并创建 DOM。然后就可以使用XPath从DOM中获取数据了
  2. 从源获取数据,例如HTML、XML、JSON 等。此方法需要为您想要支持的每个站点进行额外配置。

关于java - 从没有 API 的网站检索信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26782881/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com