我试图解析HTML的特定数据,但我遇到了返回字符的问题,至少我认为这就是问题所在.我正在使用一个简单的子字符串方法来拆分HTML,因为我事先知道我在寻找什么.
这是我的解析方法:
public static void parse(String response, String[] hashItem, String[][] startEnd) throws Exception
{
for (i = 0; i < hashItem.length; i++)
{
part = response.substring(response.indexOf(startEnd[i][0]) + startEnd[i][0].length());
value = part.substring(0, part.indexOf(startEnd[i][1]));
DATABASE.setHash(hashItem[i], value);
}
}
Run Code Online (Sandbox Code Playgroud)
以下是给我提出问题的HTML示例
<table cellspacing=0 cellpadding=2 class=smallfont>
<tr onclick="lu();" onmouseover="style.cursor='hand'">
<td class=bodybox nowrap> 21,773,177,147 $ </td><td></td>
<td class=bodybox nowrap> 629,991,926 F </td><td></td>
<td class=bodybox nowrap> 24,537 P </td><td></td>
<td class=bodybox nowrap> 0 T </td>
<td></td><td class=bodybox nowrap> RT </td>
Run Code Online (Sandbox Code Playgroud)
有隐藏的返回字符,但是当我尝试将它们添加到我尝试使用的字符串中时,如果有的话,它不会很好.是否有一种方法或者更好的方法从HTML中删除隐藏的字符以使其更容易解析?一如既往地非常感谢任何帮助.
如果你想让解析变得非常简单,试试Jsoup:
此示例将下载页面,解析并获取文本.
Document doc = Jsoup.connect("http://jsoup.org").get();
Elements tds = doc.select("td.bodybox");
for (Element td : tds) {
String tdText = td.text();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7125 次 |
| 最近记录: |