Google Sheets ИМПОРТ XML: Как определить правильную таблицу по заголовку вместо индекса таблицы? - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь импортировать данные из таблиц в Google Sheets с помощью IMPORT XML, и у меня уже есть рабочий пример для одной таблицы:

IMPORTXML($A1, "//table[3]/tbody//span/img[1]/@title")

A1, содержащий URL.

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

Вот два примера URL:

Я хочу импортировать данные из таблиц "Оборудование" в разделе «Улучшение».

Приведенный выше пример с «таблицей [3]» работает для первого URL, но для второго URL индекс таблицы равен 4, поэтому мне придется использовать «table [4» ] ".

Полагаю, мне нужно идентифицировать правильную таблицу по ее заголовкам, в данном случае" Equip Rank ".

  1. Есть ли способ включить информацию заголовка в запрос IMPORTXML для индекса таблицы?
  2. Или, в качестве альтернативы, для получения правильного номера индекса таблицы в Google Sheets?
  3. Третий способ может заключаться в использовании заголовка раздела «Улучшение» в Запрос XPATH.

Поскольку на моем листе будет довольно много вычислений, Я бы предпочел "удобный для расчета время" способ импорта.

Ответы [ 2 ]

1 голос
/ 05 апреля 2020

Звездный путь снова наносит удар. Решение с помощью IMPORT XML для определения положения таблицы, затем IMPORT HTML для извлечения данных.

STrek

Star. Trek.P2

0 голосов
/ 05 апреля 2020

Попробуйте использовать

=importxml(A1,"//h2[span[@id='Advancement']]/following-sibling::table[@class='wikitable']")
...