Здравствуйте.
Это называется что-то типа "browser on server".
По идее, мы должны заставить сервер, загрузить к себе страницу, вызвать все клиентские процедуры, взять контекст и разобрать его, выдать результат в сеть.
Проблемы:
- Где взять/запустить/выпросить/настроить сервер обычным смертным?
- Что!?
Идея:
- Организовать часть автоматизации на рабочем месте.
- Публиковать данные, ака "выдать результат в сеть", на Диске Google.
По шагам:
- Необходимо скачать и распаковать phantomjs.org/download.html Пусть папка с файлом phantomjs.exe называется
'C:\phantomjs\bin'
- Необходимо скачать файл parse_jsp_to_file.js Сохраните его туда же, где лежит файл phantomjs.exe
- Необходимо установить Диск для Mac/PC
- Необходимо настроить паку на диске для общего доступа (Видно всем в Интернет). Назовем ее FOLDER.
- Необходимо, чтобы папка FOLDER синхронизировалась в Диск для Mac/PC. Пусть ее путь будет
'C:\Диск Google\FOLDER'
- Открыть файл parse_jsp_to_file.js текстовым редактором и изменить строку
var folder = 'C:\\_\\Google Drive\\temp (main)\\(public)\\';
на строку
var folder = 'C:\\Диск Google\\FOLDER\\';
*следите за слэшами. Настройка указана для Windows
- Остается запустить командную строку и вставить туда
'C:\phantomjs\bin\phantomjs.exe parse_jsp_to_file.js'
- Если в папке C:\Диск Google\FOLDER появился файл yyyy-mm-dd.xml, то можно идти дальше, иначе - ковырять и проверять.
- Необходимо получить ID папки FOLDER на Диске. Это самая длинная комбинация Цифр/Букв в адресе общего доступа.
- Необходимо взять формулу IMPORTXML() из файла goo.gl/GUpaf2
- Необходимо заменить в этой формуле ID на свой.
- Все.
У меня работает как часы.
Проблемы:
- Я не добавлял обработчики исключений.
- JS файл должен быть в кодировке UTF-8
- Я добавил BAT файл для своей настройки. Но у меня C:\phantomjs\bin находится в переменных среды.
Что в итоге:
- BAT можно настроить на запуск каждый день.
- Файлы записываются по одному на каждый день.
- В Таблицах появляется возможность отследить дату изменения контекста.
P.S.:
Для множества ссылок, необходимо просто использовать другой скрипт
simple_cycle.js. Ему необходимо существование файла
file.txt, где описаны параметры, которые должны формировать URL для запроса.
Результат на листе "Пример с несколькими файлами"
goo.gl/GUpaf2.