我最近在 tbody 标记方面出现了不一致的 Jsoup 行为,当我使用 Html 结构解析 Web 上的远程页面时,例如:
<table>
<tbody>
<tr><td>... text
</tbody>
</table>
Jsoup 在 select method() 返回的元素中不包含 tbody 元素。
我使用方法 connect().get() 将远程页面加载到 Document 变量中,例如:
Document doc = Jsoup.connect(url).get();
String expr = "table>tr>td";
String parsedTxt = doc.select(expr).text();
但是当我解析本地磁盘上的同一页面时(在我下载之后)。Jsoup 包含 tbody 标签。我的表达式将不再起作用,因为它缺少 tbody 元素。
我用:
File input = new File(locationOfFile);
Document doc = Jsoup.parse(input, "UTF-8", "");
我的 Jsoup 表达式仅适用于第一种情况。
有没有办法强制 Jsoup 识别 tbody 元素(或删除它),以便在两种情况下都可以使用相同的表达式?
这是 Jsoup 的正常行为吗?
我是否也应该在解析本地页面时使用 connect 方法?