Я пытаюсь получить текущие цены на газ в немецком городе, используя функцию IMPORTHTML в Google Sheets. Функция вроде работает, по крайней мере данные импортируются в мой лист. При ближайшем рассмотрении становится понятно, что данные, вставленные в лист, отличаются от текущих данных, отображаемых на веб-странице, которую я очищаю.
Это функция, которую я вставил в свой лист Google:=IMPORTHTML("https://www.benzinpreis.de/aktuell/super_e5/deutschland/nordrhein-westfalen/koeln/koeln/koeln"; "table";4)
Я сделал скриншот различных значений:
У кого-нибудь есть идея, где я сделал ошибку?
Вы можете рассмотреть возможность использования внешних инструментов, которые могут отображать веб-сайт JS ИЛИ отлаживать, если веб-сайт выполняет какой-либо вызов AJAX, и получать необработанный JSON вместо того, чтобы пытаться бороться с HTML. Похоже, веб-сайт использует этот запрос xhr для получения фактических данных в формате JSON: https://www.benzinpreis.de/bpmap-callback.php?lat_min=50.86707808969461&lat_max=51.01850632466553&lng_min=6.700286865234375&lng_max=7.215270996093751&action=getTankstellen 🔁 (см. вкладку Chrome Dev Tools Network для получения подробной информации)
тогда вы можете использовать ImportJSON
для импорта данных в свой Google Sheet.
https://workspace.google.com/marketplace/app/importjson_import_json_data_into_google/782573720506
Обнаружение скрытых API с помощью Chrome Dev Tools: https://thewikihow.com/video_kPe3wtA9aPM
Большое спасибо, это довольно полезно :)