ИМПОРТ XMLXPATH с содержимым (Google Sheets)

#google-sheets #google-sheets-formula

#google-sheets #google-sheets-формула

Вопрос:

Текущая формула:

 =IMPORTXML(
"https://int.soccerway.com/international/europe/uefa-cup/20202021/3rd-qualifying-round/r59325/",
"//div[@class='match-card match-hour' and ..//td[@class='score-time ']/a[contains(@href, 'matches')]]"
)
  

Я пытаюсь собрать эти значения в //div[@class='match-card match-hour'] :
введите описание изображения здесь

Но только тогда, когда @href in //td[@class='score-time ']/a/@href] содержит слово matches :

введите описание изображения здесь

Пример ссылки в Apollon 0 - 5 Lech Pozan :

https://int.soccerway.com/matches/2020/09/23/europe/uefa-cup/apollon-limassol/kks-lech-poznan/3360423/
Обратите внимание, что ссылка содержит слово matches

Почему только тогда, когда есть этот текст?

Потому что на некоторых страницах этого веб-сайта место, где находятся результаты совпадений, не содержит ссылок на совпадения, только ссылки со словом «совпадения».

Комментарии:

1. Значения — это все FT ; это ваш ожидаемый результат?

2. К сожалению, я не могу понять, какое выходное значение вы ожидаете от своего вопроса. Я прошу прощения за это. Могу ли я спросить вас об этом подробнее?

3. @JackFleeting привет, на этой конкретной странице все есть FT , но на других страницах того же сайта нет. В некоторых из них нет exist @href in 'score-time' , поэтому мне нужно фильтровать только тогда, когда есть ссылка ( @href ), связанная с 'score-time' , и эти ссылки содержатся 'matches' в вашем тексте.

4. @Tanaike Я обновил вопрос, чтобы попытаться уточнить, что мне нужно.

5. Спасибо за ответ. Из вашего ответа и добавленной информации я предложил измененную формулу в качестве ответа. Не могли бы вы подтвердить это? В этом случае извлекается 35 FT значений. Если я неправильно понял вашу цель, и это был не тот результат, который вы ожидаете, я приношу свои извинения.

Ответ №1:

HTML, который вы хотите получить, имеет следующую структуру.

 <td class="day ">
  <div class="match-card match-hour">FT</div>
</td>
<td class="team team-a ">
  <a href="/teams/cyprus/apollon-limassol/518/" class="flag_16 right_16 cyprus_16_right" title="Apollon">Apollon</a>
</td>
<td class="score-time ">
  <a href="/matches/2020/09/23/europe/uefa-cup/apollon-limassol/kks-lech-poznan/3360423/">
    <span class="extra_time_score">0 - 5</span>
  </a>
</td>
  

В этом случае я подумал, что xpath может быть //div[@class='match-card match-hour' and ../../td[@class='score-time ']/a[contains(@href, 'matches')]] . Итак, как насчет следующей измененной формулы?

Измененная формула:

 =IMPORTXML(
"https://int.soccerway.com/international/europe/uefa-cup/20202021/3rd-qualifying-round/r59325/",
"//div[@class='match-card match-hour' and ../../td[@class='score-time ']/a[contains(@href, 'matches')]]"
)
  
  • В этом HTML, //div[../../td[@class='score-time ']/a[contains(@href, 'matches')]] и //div[../../td[@class='score-time ']] может быть также может использоваться в качестве xpath.

Результат:

введите описание изображения здесь