开始使用 Android 和 JSOUP

Getting Started With Android & JSOUP

本文关键字:JSOUP Android 开始      更新时间:2023-09-26

我目前正在尝试制作一个Android应用程序,并得出结论,我必须使用JSOUP来完成它。我正在使用JSOUP从互联网中提取数据,然后将其发布到我的应用程序上。

我试图弄清楚的是如何从 url 中提取多位数据,然后在它们自己的 XML 字符串文本视图中使用它们中的每一个(如果这是正确的?

这是我尝试提取的HTML的截图。


a href="http://www.campusdish.com/en-US/CSMA/OldDominion/Locations/rda.aspx?RCN=m12296&MI=122&RN=BACoN TURKEY SLICED" OnCick="javascript: NewWindow('http://www.campusdish.com/en-US/CSMA/OldDominion/Locations/rda.aspx?RCN=m12296&MI=122&RN=培根火鸡切片', 'RDA_window', 'width=450, height=600, 滚动条=否, 工具栏=否, 目录=否, 状态=否, 菜单栏=否, 复制历史=否');返回假" 类="食谱链接">培根火鸡切片


我正在尝试提取切成薄片的培根火鸡一词

问题是我根本不了解JSOUP。就像我对它有一个想法,但我似乎无法实际使用它等等。我想知道是否有人可以尝试将我推向正确的方向。

另外,我尝试阅读食谱,但没有占上风。

如果有人能帮忙,非常感谢!

编辑

这里还有两个。我相信它们是完全相同的东西。

a href="http://www.campusdish.com/en-US/CSMA/OldDominion/Locations/rda.aspx?RCN=m4903&MI=122&RN=STATION OMELET" OnClick="javascript: NewWindow('http://www.campusdish.com/en-US/CSMA/OldDominion/Locations/rda.aspx?RCN=m4903&MI=122&RN=STATION OMELET', 'RDA_window', 'width=450, height=600, scrollbars=no, toolbar=no, directory=no, status=no, menubar=no, copyhistory=no');return false" class="recipeLink">STATION OMELET

a href="http://www.campusdish.com/en-US/CSMA/OldDominion/Locations/rda.aspx?RCN=m784&MI=122&RN=CEREAL HOT GRITS" OnClick="javascript: NewWindow('http://www.campusdish.com/en-US/CSMA/OldDominion/Locations/rda.aspx?RCN=m784&MI=122&RN=谷物热糁', 'RDA_window', 'width=450, height=600, 滚动条=no, 工具栏=no, 目录=no, status=no, menubar=no, copyhistory=no');return false" class="recipeLink">CEREAL HOT GRITS

因此,这个答案将假设您对以下内容感兴趣:

给定您的示例,此处为字符串:

String tastyTurkeySandwich= "<a href='"http://www.campusdish.com/en-US/CSMA/OldDominion/Locations/rda.aspx?RCN=m12296&amp;MI=122&amp;RN=BACoN  TURKEY  SLICED'" OnCick='"javascript: NewWindow('http://www.campusdish.com/en-US/CSMA/OldDominion/Locations/rda.aspx?RCN=m12296&amp;MI=122&amp;RN=BACON  TURKEY  SLICED', 'RDA_window',  'width=450, height=600, scrollbars=no, toolbar=no,  directories=no, status=no, menubar=no, copyhistory=no');return false'" Class='"recipeLink'">BACON  TURKEY  SLICED</a>";

您可以使用以下代码提取(第一个)文本:

Document doc = Jsoup.parse(tastyTurkeySandwich);
Elements links = doc.select("a[href].recipeLink");
// This will just print the text in the first one
System.out.println(links.first().text());

要循环访问Elements(实现Iterable接口)实例,请执行以下操作:

for (Element link : links) {
    // Calling link.text() will return BACON TURKEY SLICED etc. etc.
    System.out.println(link.text());
}

总之:

  1. a[href]将匹配具有 href 属性的所有 标记。
  2. .recipeLink部分将过滤该选择,以仅包含具有 recipeLink 样式的链接。