gpt4 book ai didi

Java-获取 HTML 中的粗体文本

转载 作者:行者123 更新时间:2023-12-01 12:51:42 25 4
gpt4 key购买 nike

我的任务是从定期更新的在线表格中获取定价信息。具体来说,以粗体列出的商品表示最近更新过价格的商品。我主要负责这些,并将这些元素的信息转移到公司的数据库中。但是,我对在 Java 中使用 HTML 表格有点陌生,并且不确定如何准确过滤粗体项目。我确实注意到他们周围有“强”标签;我只是不确定如何使用它。我已经尝试过广泛地谷歌搜索,但我发现的几乎所有问题都是关于写入 HTML 表而不是从中读取。我发现与我的问题相关的是很多使用 Jsoup 或 jQuery 的建议。这些对于我想做的事情来说是必要的吗(或者至少让它变得更容易)?

这是我迄今为止为其中一个表编写的代码(如果有帮助的话),尽管它当前所做的只是显示整个表的 HTML。

package cmtabacosPrecios;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
public class CeutaYMelilla_Cigarillos {
public static void main(String[] args) throws Exception {

// Run the getHTML method
try {
getHTML("http://www.cmtabacos.es/wwwcmt/listaPrecios.php?&zona=cm&labor=cillos&mostrar_codigo=S");
}
catch (Exception ex) {
System.out.println("Error. Exception has occured.");
}

}
// The getHTML method
public static String getHTML(String URLToRead) throws Exception {
URL cmtabacosPrecios = new URL(URLToRead);
BufferedReader in = new BufferedReader(
new InputStreamReader(cmtabacosPrecios.openStream()));

String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();

// Return HTML as a String
return inputLine;

}
}

最佳答案

下面是使用 jsoup 从表中检索数据的示例代码。只需修改它即可获取对您重要的数据。您还可以通过 project website 了解有关 jsoup 的更多信息。它非常简单且功能强大。

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.IOException;

public class Main {

public static void main(String[] args) throws IOException {
Document doc = Jsoup.connect("http://www.cmtabacos.es/wwwcmt/listaPrecios.php?&zona=cm&labor=cillos&mostrar_codigo=S").get();
Elements tableRows = doc.select("tr");
for (Element row : tableRows) {
Elements marca = row.getElementsByClass("marca");
Elements pvpExp = row.getElementsByClass("pvp_exp");
Elements pvpPvr = row.getElementsByClass("pvp_pvr");

if (!marca.isEmpty() && !pvpExp.isEmpty() && !pvpPvr.isEmpty()) {
System.out.println(marca.get(0).text());
System.out.println(pvpExp.get(0).text());
System.out.println(pvpPvr.get(0).text());
}
}
}
}

关于Java-获取 HTML 中的粗体文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24181535/

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