我正在开发一个用Java编程的Android应用程序。我以前曾使用过API,但我想知道是否可以在没有API的情况下检索信息。
例如,尝试检索操作小时数found here。如果我在操作时间单击检查元素,我可以看到它们位于名为" Hours"的标题下。我可以使用这些HTML标签吗?即抓住标题/段落,解析它,并检索所需的结果。
谢谢!
PS。对于新手问题道歉,我不确定如何正确地说出来以便我能收到相关的谷歌搜索结果。
答案 0 :(得分:1)
我想补充一些评论@LucianoRodríguez。
如您所知,您可以阅读HTTP响应的内容,然后将其解析为HTML。正如您所提到的,您可以访问特定元素并获取其值。
现在的问题是应用程序的通用性。例如,如果您想从一个特定站点获取几个字段,那么您已经拥有了所有工具。获取HTML,使用一个可用的HTML解析器解析它以提取数据,然后就完成了。
但是,如果您要构建应支持各种站点并且可配置的通用应用程序,则会遇到问题。
首先,您必须能够从DOM中提取任何数据。我个人现在正在从事类似的工作。我使用HTMLCleaner从HTML和XPath获取DOM来配置有趣的节点。但并非全部。现代网站非常有活力。通常,信息不是作为HTML在服务器站点生成的,而是由在客户端站点上运行的javascript动态构建的。支持这种情况并不简单。一般来说,我可以采用两种方法: