Так а тепер приступимо до самого парсеру, спочатку я викладу його код (для тих хто хоч трохи розуміє впораються без моїх коментарів), а потім почну пояснювати все потихеньку.
var sheet = SpreadsheetApp.getActiveSheet ();
var range = sheet.getRange ( "A2: I5000");
var cell = range.getCell (startRow, 1);
var response = UrlFetchApp.fetch (url);
for (var i = 1; i<=10;i++)
Ми маємо 2 функції getconten і getPageContent. з getconten ми передаємо потрібні дані і запускаємо функцію для getPageContent для парсинга сторінки яку ми передали з getconten.
Функція getconten: тут ми маємо цикл рівний кількість сторінок в даному розділі. За кожен прохід циклу ми відправляємо посилання на сторінку і кількість вже оброблених товарів.
І так яку ж посилання нам вставити для нашого сайту? Більшість сайтів має подібну структуру сайт.ру / розділ /? Сторінок = 1 під словом сторінка може ховатися будь-яке слово в нашому випадку start, частіше page. Іноді на першій сторінці сайту цієї змінної немає, потрібно просто перейти наприклад на другу. Для краще розуміючи рекомендую прочитати прочитати про GET запити тут або в google.
Формула 1 + 10 * (j-1) - потрібна для того щоб записи йшли далі, а не перезаписувати в документі, де 10 це кількість записів (! Увагу! Кількість записів за замовчуванням, для частоти краще зайти на потрібну сторінку з іншого браузера або з приватної вкладки тоді ви поведіть сторінку саме так, як бачить її ваш скрипт).
Функція getPageContent: тут коїться основна магія. Я думаю тут варто пояснити тільки основні моменти, більш докладніше почитати про кожну з функцій можна в гуглі якщо зацікавить.
sheet.getRange ( "A1: I5000") - тут ми вибираємо діапазон комірок, з якими ми будемо працювати, рекомендую ставити великий розбіг.
for (var i = 1; i<=10;i++) - параметры цикла, где 10 см.формулу выше (!Внимание! цифры должны совпадать с формулой вышей).
Основні параметри ми налаштували, тепер приступаємо до налаштування парсинга.
Подальші дії мають на увазі, що ви має базові поняття HTML і вихідний текст сторінки, якщо ж немає настійно рекомендую спочатку прочитати про ці речі.
І так розбір польоту пішов:
Щоб вставити в осередок деякий текст зі сторінки нам потрібно знати його початкове положення (start) і кінцеве (end). Для цього ми знаходимо унікальну рядок для елемента які ми хочемо Спарс, у випадку з зображенням товару це рядок
', End) +50;
// start = textResp.indexOf ( ' ', Start) +23;
// start = textResp.indexOf ( '
for (var j = 1; j<=898;j++)
var cell = range.getCell (j, 1); |