Не удалось получить дату из ImportXML. Нужны варианты

Использование Google Таблиц. Я пытаюсь получить дату ETA на этой странице: https://www.hapag-lloyd.com/en/online-business/tracing/tracing-by-booking.html?blno=HLCUEUR181027806#.

В будущем я буду использовать другие blno, поэтому ETA будет меняться в зависимости от blno (номера коносамента). В дальнейшем блно будет исходить от столбца.

Я использовал стандартные методы проверки веб-страницы, чтобы определить, что xpath для нужного мне элемента следующий: //*[@id="ext-gen156"]

Это XPath для даты ETA, в данном случае 04.12.2018, когда вы посещаете страницу.

Я заполнил E4 следующим образом: https://www.hapag-lloyd.com/en/online-business/tracing/tracing-by-booking.html?blno=HLCUEUR181027806#

И я заполнил E5: //*[@id="ext-gen156"]

Тогда формула "=importxml(E4,E5)" дает результат "Н/Д" (по F4).

Если я изменю E4 на https://en.wikipedia.org/wiki/List_of_T_postal_codes_of_Canada

и E5 в //*[@id="mw-content-text"]/div/table[1]/tbody/tr[1]/td[6]/span/a[1]

он работает... он получает другую информацию с другого веб-сайта.

Я подозреваю, что причина, по которой у меня возникли проблемы с первым описанным выше сценарием, заключается в том, что это не статическая страница. Возможно, это работает только для статических страниц.

Я пытался понять, что означает XPath, но это тоже очень запутанно. Если бы кто-то указал мне на хорошее объяснение этого, это также было бы ценно. Например, в следующем документе говорится, что вы должны использовать "." для выбора текущего узла. Что означает текущий в контексте, в котором я пытаюсь использовать XPath? Кажется, это не имело смысла.

https://www.w3schools.com/xml/xpath_syntax.asp

Буду признателен за любые рекомендации по стратегии. Я могу все делать неправильно. Я также связался с Hapag-Lyod, чтобы узнать, есть ли у них RSS-канал, хотя я тоже новичок в этом.

Итак, для экспертов, которые сделали что-то подобное, каковы возможные направления для решения этого проекта?

Я работаю в обратном направлении. У меня есть цель, но я не знаю всех технологий. Мой опыт больше связан с клиентскими приложениями, поэтому у меня проблемы с исследованиями, когда дело доходит до веб-приложений. Надеюсь, я был достаточно подробным, но если нет, дайте мне знать, как улучшить вопрос, и я буду рад это сделать.


person Allied Stack    schedule 29.01.2019    source источник
comment
FWIW Я попробовал ваш код - не сработал (неудивительно, на самом деле). Но потом я посмотрел исходник страницы и там нет id ext-gen156. Я думаю, вы, вероятно, правы, когда говорите, что страница создается динамически каждый раз. FWIW, я использовал Chrome (и Firefox) и извлек фактический xpath, и это тоже не сработало.   -  person Tedinoz    schedule 01.02.2019
comment
Tedinoz, Спасибо за попытку. Поэтому я думаю, что ответ заключается в том, что Hapaq Lyod должен предоставить веб-сервис. Я не знаю другого способа, как это сделать. Спасибо еще раз.   -  person Allied Stack    schedule 05.02.2019
comment
Система Hapag Lloyd отлично подходит для ручных запросов. FWIW, я бы прямо спросил их, есть ли у них (также) общедоступный API и / или могут ли они предложить, как можно автоматизировать процесс, чтобы данные можно было извлекать и хранить в электронной таблице (например, Google).   -  person Tedinoz    schedule 07.02.2019


Ответы (1)


Мы начинаем играть с инструментом под названием AutoIt. Это будет правильный инструмент для этой проблемы.

person Allied Stack    schedule 11.02.2019