При парсинге с использованием гугл таблиц может случиться, что при частом использовании данной функции в течении дня можно достичь лимита запросов. Для того чтобы этого не случилось, как вариант, можно использовать парсинг данных с использованием регулярных выражений.
При получении данных из сайта, который работает задержка получения данных будет меньше, в случае парсинга данных из вебархива, скорость запросов будет ниже, поэтому для таких запросов необходимо больше времени.
Для того чтобы использовать парсинг в связке с регуляркой, необходимо перейти в (Инструменты > Редактор сценариев) и в появившемся окне удалить все данные демо-функции, после чего вставить представленный ниже код:
function importRegex(url, regexInput) {
var output = '';
var fetchedUrl = UrlFetchApp.fetch(url, {muteHttpExceptions: true});
if (fetchedUrl) {
var html = fetchedUrl.getContentText();
if (html.length && regexInput.length) {
output = html.match(new RegExp(regexInput, 'i'))[1];
}
}
// Задержка, чтобы не перегружть запросами, а в случае парсинга
// вебархива увеличить как минимум до 5000, т.к. данные могут
// подгружаться медленнее
Utilities.sleep(1000);
return output;
}
После этого, сохраняем проект, нажав на дискету в верхней панели и запускаем функцию, при запуске функция попросит доступ к вашей учетной записи, чтобы она могла выполнять свои функции. Предоставляем доступ и переходим непосредственно в таблицу в которую будем получать данные. И теперь там используем данную функцию, так же как и встроенные функции Google Sheets.
После введения функции нажимаем ввод и ждем, спустя промежуток времени, который не превышает время, которое вы указали в функции, данные будут получены. Для получения других данных, указывем теги, которые необходимо получить. Обязательно необходимо правильно составить регулярное выражение, так как можно получить не те данные, которые хотелось)):
= importRegex('https://4python.pythonanywhere.com/checker4registration.html';'<#title>(.*)<\/title>')
- без решетки