当前位置: 首页 > 知识库问答 >
问题:

使用JSOUP解析HTML中的ID和名称

裴心水
2023-03-14

我需要提取以下html https://ndb.nal.usda.gov/ndb/search/list中列出的所有食品的ID和mfg.name

我正在使用Jsoup并且对它很陌生。

    try{
    Document doc = Jsoup.connect("https://ndb.nal.usda.gov/ndb/search/list?maxsteps=6&format=&count=&max=50&sort=fd_s&fgcd=&manu=&lfacet=&qlookup=&ds=&qt=&qp=&qa=&qn=&q=&ing=&offset=0&order=asc").userAgent("mozilla/17.0").get();
    Elements temp =doc.select ("div.list-left");

    int i=0;
    for ( Element Food:temp){
        i++;
        System.out.println(i+ "" +Food.getElementsByTag("table").first().text());
    }
    }
    catch (IOException e){
        e.printStackTrace();
    }

共有1个答案

柯琛
2023-03-14

试试这个。

try {
    int maxPage = 3681;
    int i = 0;
    for (int page = 0; page < maxPage; ++page) {
        Document doc = Jsoup.connect(
            "https://ndb.nal.usda.gov/ndb/search/list"
            + "?maxsteps=6&format=&count=&max=50"
            + "&sort=fd_s&fgcd=&manu=&lfacet=&qlookup=&ds="
            + "&qt=&qp=&qa=&qn=&q=&ing=&offset=" + (page * 50)
            + "&order=asc")
            .userAgent("mozilla/17.0").get();
        Elements rows = doc.select("div.list-left table tbody tr");
        for (Element row : rows) {
            ++i;
            System.out.print("No." + i);
            System.out.print(" ID=" + row.select("td:eq(1) a").text());
            System.out.println(" Manufacturer=" + row.select("td:eq(3) a").text());
        }
    }
} catch (IOException e) {
    e.printStackTrace();
}
 类似资料:
  • 我想解析出这个Nasa页面上的描述,页面底部的文字 我该怎么做?

  • 主要内容:Jsoup 使用DOM解析HTML 语法,Jsoup 使用DOM解析HTML 说明,Jsoup 使用DOM解析HTML 示例以下示例将展示在将 HTML 字符串解析为 Document 对象后如何使用类似 DOM 的方法。 Jsoup 使用DOM解析HTML 语法 document : 文档对象代表 HTML DOM。 Jsoup : 解析给定 HTML 字符串的主类。 html : HTML 字符串。 sampleDiv : 元素对象表示由 id“sampleDiv”标识的 html

  • 问题内容: 这是我的HTML来源 这是我获取内容的Java程序,它过滤HTML标记 是否有使用Jsoup而不是使用Java而不是Regex解析HTML内容的简便方法 有没有办法只获取所需的内容。所以在这里我只需要内容“项目2-222” 问题答案: 尝试使用jsoup轻松解析: 要了解更多信息,请访问Jsoup Docs

  • 我试图在这里使用JSOUP解析html标记。我对jsoup是新来的。基本上,我需要解析这些标记,获取这些标记中的文本,并应用class属性中提到的样式。 我正在创建一个SpannableStringBuilder,它可以创建子字符串,应用样式,并将它们附加到没有样式的文本中。 我不确定如何解析不在任何标记之间的字符串,例如“there are”和“worker from the”。 需要输出,例如

  • 问题内容: 我正在尝试使用jsoup解析HTML。这是我第一次使用jsoup,并且我也阅读了有关它的一些教程。以下是我要解析的HTML表- 如果您看到我的下表,则它现在有3个(我只是为了理解目的将其缩短为3个表行,但总的来说会更多)。现在,我想从我的下表中提取出它的对应信息,例如-我将提取其群集状态及其状态为关闭的所有主机名。 正如你可以看到下面的群集名称,我有两个主机名和其地位,但地位。 因此,

  • 我试图从这些div标签中获取文本,但是它们都不返回任何内容: HTML: 我想得到div类“消息”和h4标记和跨越“日期时间”中的文本,我试图: 和: 但是他们没有成功。