Deci, acum să începem parserul în sine, mai întâi îmi voi expune codul (pentru cei care înțeleg chiar și un pic, fără comentariile mele) și apoi voi începe să explic totul încet.
var foaie = SpreadsheetApp.getActiveSheet ();
var interval = sheet.getRange ("A2: I5000");
var celula = range.getCell (startRow, 1);
var răspuns = UrlFetchApp.fetch (url);
pentru (var i = 1; i<=10;i++)
Avem 2 funcții, getconten și getPageContent. de la getconten vom transmite datele necesare și vom rula funcția getPageContent pentru a analiza pagina pe care am trecut-o de la getconten.
Funcția getconten: aici avem o buclă egală cu numărul de pagini din această secțiune. Pentru fiecare trecere a ciclului, trimitem un link către pagină și numărul de produse deja procesate.
Și ce fel de legătură ar trebui să introducem pentru site-ul nostru? Cele mai multe dintre site-uri au o structură similară de site.ru / secțiune /? Pagini = 1 sub pagina de cuvânt poate ascunde orice cuvânt în cazul nostru, începe, adesea pagina. Uneori, pe prima pagină a site-ului, această variabilă nu este prezentă, este necesar doar să treci de exemplu spre a doua. Pentru o înțelegere mai bună vă recomand să citiți despre cererile GET aici sau în Google.
Formula 1 + 10 * (j-1) - este necesară pentru a se înregistra mutat, mai degrabă decât suprascrierea documentului, în cazul în care 10 este numărul de intrări (numărul de cont al intrărilor implicite pentru o frecvență mai bună pentru a merge la pagina dorită dintr-un alt browser sau! din fila privată, atunci veți lua pagina exact așa cum vede scriptul dvs.).
Funcția getPageContent: aici este creată magia principală. Cred că aici merită explicat doar punctele principale, mai mult pentru a citi despre fiecare dintre funcțiile pot fi în Google dacă este interesat.
sheet.getRange ("A1: I5000") - aici vom alege gama de celule cu care vom lucra, vă recomand să puneți un mare run-up.
pentru (var i = 1; i<=10;i++) - параметры цикла, где 10 см.формулу выше (!Внимание! цифры должны совпадать с формулой вышей).
Am stabilit parametrii principali, acum suntem gata să configuram parsarea.
Acțiunile viitoare implică faptul că aveți conceptele de bază despre HTML și textul sursă al paginii, dacă nu, vă recomandăm cu insistență să citiți mai întâi despre aceste lucruri.
Și așa a fost analiza zborului:
Pentru a introduce un text în celulă din pagină, trebuie să cunoaștem poziția sa inițială (start) și sfârșitul (sfârșitul). Pentru a face acest lucru, găsim un rând unic pentru elementul pe care dorim să-l împărțim, în cazul imaginii produsului, acesta este șirul
', sfârșit) +50;
// start = textResp.indexOf (' ', început) +23;
// start = textResp.indexOf ('
pentru (var j = 1;<=898;j++)
var celula = range.getCell (j, 1); |