如何从网页 (HTML) 中获取相关信息到我的 Android 应用程序中?
Posted
技术标签:
【中文标题】如何从网页 (HTML) 中获取相关信息到我的 Android 应用程序中?【英文标题】:How do i get relevant Information from a Webpage (HTML) into my Android App? 【发布时间】:2018-02-19 21:16:52 【问题描述】:首先我不得不说我的英语不是最好的所以不要怪我:)。
我想为 android 系统创建一个食品应用程序,该应用程序能够通过 Asynctask 下载网页并将其保存到数据库 (SQLite) 中来获取网页信息(如成分、准备)。
我学会了使用基于 JSON 的网站并在 ListView 中显示结果(下载数据后)。现在我遇到的问题是我面前没有 JSON,而且我真的不知道如何编写代码来提取 html - 网页的相关信息。甚至可能吗?
对不起,如果你们现在可能会笑,我是多么不知道,但我试着学习:)
所以我基本上对 Asynctask 和数据库了解很多。但关键是我不知道如何将它们与我的具体问题联系起来。
提前感谢所有将处理我的话题的人!
【问题讨论】:
这是另一个使用jsoup
从html获取元素的好例子-androidbegin.com/tutorial/android-basic-jsoup-tutorial
JSON
更适用于此的原因是,如果您使用jsoup
,您将必须为每张收据创建一个html
页面。当您使用JSON
时,您可以使用一个文件直接从您的数据库中获取所有收据/配料,甚至可以直接在JSON
文件中输入所有数据(配料/准备)。我建议你不要使用jsoup
方法,而不是说它不可能......
【参考方案1】:
尝试使用 jsoup
。 Here你可以找到jsoup库和完整的源代码。
查看此站点上的示例:http://www.vogella.com/tutorials/jsoup/article.html
通过将此行添加到您的 app build.gradle 中,将 jsoup
添加到您的项目中:
compile 'org.jsoup:jsoup:1.10.3'
【讨论】:
【参考方案2】:HTML 是基于 XML 的页面表示。
你可以用DOM解析它,如果有重复的标签你可能会发现用SAX解析更容易。但是您需要解析网站上的所有信息并浏览图表以提取您想要的内容。
【讨论】:
以上是关于如何从网页 (HTML) 中获取相关信息到我的 Android 应用程序中?的主要内容,如果未能解决你的问题,请参考以下文章