如何在java中解析网页的特定部分?

eL_*_*eL_ 0 java string parsing substring html-parsing

我正在获取一个网页的主体,其中有一个包含许多行的表,如下所示:

 ...
 ...
 <tbody>
   <tr class="odd">
     <td align="center">08:00</td>
     <td align="center">9.50</td>
     <td>Description of event 1 </td>
     <td align="center">7.80</td>
   </tr>
   <tr class="even">
     <td align="center">09:00</td>
     <td align="center">11.10</td>
     <td>Description of event 2</td>
     <td align="center">27.40</td>
   </tr>
...
Run Code Online (Sandbox Code Playgroud)

我想从这个表中剪切零件并将其解析为我的对象.我试图使用子字符串,但我不知道文本所需的部分在哪里.此外,我正在寻找正则表达式和不同的解析器.我怎样才能决定我的问题?谢谢

Neu*_*ron 6

您可以使用jsoup将您的html解析为a Document并使用Jsoup DOM方法来导航您的html.

String yourHtml = "<someHtml/>"; 
Document doc = Jsoup.parseBodyFragment(yourHtml);

Element table = doc.getElementByTag("tbody");
Elements rows = table.getElementsByTag("tr");
for (Element row : rows) {
    for (Element cell : row.getElementsByTag("td")) {
        String content = cell.text();
    }
}
Run Code Online (Sandbox Code Playgroud)