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

JSoup如何解析表3行

丰胤运
2023-03-14

我有一个这样的表,我想解析它以获得行的数据代码值。id和表的第二列和第三列。

<table>
    <tr class="id" data-code="100">
       <td></td>
       <td>18</td>
       <td class="name">John</td>
    <tr/>
    <tr class="id" data-code="200">
       <td></td>
       <td>21</td>
       <td class="name">Mark</td>
    <tr/>
</table>

我想打印出来。

100, 18, John
200, 21, Mark

我尝试了这个线程中的以下建议,但没有选择如何使用jsoup从HTML解析表

URL url = new URL("http://www.myurl.com");
Document doc = Jsoup.parse(url, 3000);

Element tables = doc.select("table[class=id]");

for(Element table : tables)
{
     System.out.println(table.toString());
}

编辑:也尝试使用Jsoup.connect()代替parse()

Document doc = null;
try
{
    doc = Jsoup.connect("http://www.myurl.com").get();
} 
catch (IOException e) 
{
    e.printStackTrace();
}

共有1个答案

党星鹏
2023-03-14

试着这样做:

URL url = new URL("http://www.myurl.com");
Document doc = Jsoup.parse(url, 3000);
// This should work now
Element tables = doc.select("table tr .id");
// This propably should work too
Element tables2 = doc.select("table tr[class*=id]");

for(Element table : tables)
{
     System.out.println(table.toString());
}

从文件:

公共元素select(stringcssquery)查找与选择器CSS查询匹配的元素,该元素作为起始上下文。匹配的元素可以包括该元素或其任何子元素。此方法通常比DOM类型的getElementBy*方法更强大,因为可以组合多个过滤器,例如:•el。选择(“a[href]”-查找链接(带有href属性的标记)•el。选择(“a[href*=example.com]”-查找指向示例的链接。com(松散)

请参见选择器中的查询语法留档。

参数: cssQuery-一个类似于选择器CSS的查询返回:匹配查询的元素(如果没有匹配,则为空)

 类似资料:
  • 我想解析一个HTML表,但我不明白如何获得值。我有这张桌子: 你能为我杀一儆百吗?我要分析此表得所有值...提前谢谢! 编辑:SPAN值:

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

  • 正如您在下面看到的集群名称,我有两个主机名和,其中状态为,但状态为。 因此,我将打印作为集群名,并打印作为主机名,因为它已关闭。使用JSOUP可以做到这一点吗? 到目前为止,我能够使用jsoup提取整个HTML表,但不确定如何提取集群名和主机名- 更新:- 表中可能有两个集群名称,如下所示- 现在,如果您看到上面,我有两个集群名称--一个是,另一个是,所以我想找到所有仅为集群名称关闭的计算机。

  • 问题内容: 这是我必须从中提取值5390.85,5428.15,5376.15和5413.85的HTML源。我想使用jsoup做到这一点。但是我对jsoup比较陌生(今天我开始使用它)。那我该怎么办呢? 我已经使用jsoup提取了网站的内容。但是如何提取我需要的值?提前致谢 问题答案: 尝试这样的事情: 这是打印输出:-

  • 我需要的是在第二个中获取第二个 的文本,并对表中的每一组 标记执行此操作。

  • 我试图从这个表中解析数据。例如,假设我想解析第二行中的第二个元素(称为SLO)。 我可以看到TR里面有一个TR,而SLO这个词甚至没有ID或任何东西。我如何解析这个? 这是代码: 我不知道在文档中放什么。选择(“”);因为我从未解析过这样的东西。我只解析过网页标题之类的东西。有人能帮我吗?