【发布时间】:2016-05-03 18:36:58
【问题描述】:
我过去曾使用过 JSoup,并且能够将 XPath 转换为选择器,但我无法在已更改的站点上获得此表的结果。
我正在尝试从this Georgia soccer site 检索排名表。
在 Chrome 中,我将表格 tbody 的选择器设为 #tabs-1 > div > table:nth-child(12) > tbody > tr > td > table:nth-child(1) > tbody > tr:nth-child(1) > td > table > tbody。
Firefox 为表 .placeholder > table:nth-child(12) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(1) > table:nth-child(1) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(1) > table:nth-child(1) 提供了类似的选择器
两者都不起作用。即使在Try JSoup link
第一个第 n 个子表本身 #tabs-1 > div > table:nth-child(12) 返回 null。
知道这个页面有什么特别之处吗?
我将用户代理字符串设置为Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36
【问题讨论】:
-
似乎尝试 jsoup 解析 HTML 的方式与浏览器不同。根据在两个浏览器中看到的 DOM,很明显有一个
#tabs-1 > div > table:nth-child(12)。该页面充满了错误,所以我不会感到惊讶。 -
我在 github 上向 Jsoup 团队报告了一个问题 (github.com/jhy/jsoup/issues/705)。
标签: css-selectors jsoup