Этот работает:
=importxml("https://discgolfmetrix.com/?u=scorecard&ID=900113&view=result", "//table[@class='data data-hover']/tr/td[2]")
Этот не работает:
=importxml("https://discgolfmetrix.com/?u=scorecard&ID=1172639&view=result", "//table[@class='data data-hover']/tr/td[2]")
Если бы было наоборот, я бы это понял, так как первый имеет 2 тега tbody.
GoogleSheets анализирует страницу по-своему (родительская >> дочерняя структура не совсем такая же, как в вашем браузере). Используйте //tr в XPath, чтобы обойти ошибки синтаксического анализа:
//tr
=IMPORTXML("https://discgolfmetrix.com/?u=scorecard&ID=1172639&view=result","//table[@class='data data-hover']//tr/td[2]")
Или используйте IMPORTHMTL и QUERY:
IMPORTHMTL
QUERY
=QUERY(IMPORTHTML("https://discgolfmetrix.com/?u=scorecard&ID=1172639&view=result","table",1),"select Col2 OFFSET 1")
Вывод: Гольф
EDIT: Подробнее:
EDIT
Для первой ссылки проанализированная структура HTML будет следующей:
<table> <tr> <td></td> <td>your_data</td> ... </tr> <tr> <td></td> <td>your_data</td> ... </tr> ... </table>
И ваш XPath работает.
Для второй ссылки есть предшествующий элемент tbody, который содержит элементы tr. Структура такая:
tbody
tr
<table> <tbody> <tr> <td></td> <td>your_data</td> ... </tr> <tr> <td></td> <td>your_data</td> ... </tr> ... </tbody> </table>
И ваш XPath не работает. Вот почему вы должны использовать // или объявить элемент tbody в своем выражении:
//
=IMPORTXML("https://discgolfmetrix.com/?u=scorecard&ID=1172639&view=result","//table[@class='data data-hover']/tbody/tr/td[2]")