Forumi


Povratak   PC Ekspert Forum > Računala > Software > Web dizajn, programiranje i ostalo
Ime
Lozinka

Odgovori
 
Uređivanje
Staro 27.01.2017., 13:56   #1
prodo
Registered User
 
Datum registracije: Jul 2010
Lokacija: zagreb
Postovi: 50
google script

ako netko može pomoći oko par stvari u kodu za google skriptu koja bi trebala svaki dan u određeno vrijeme napraviti backup stanja neke webstranice na google drive.

skriptu sam našao ovdje i dobro funkcionira kad se izvodi pomoću vremenskog triggera, međutim za moje potrebe bi joj trebale 2-3 preinake za koje mislim da su moguće. ja veze nemam s programiranjem i mučim se nekoliko dana s ovim. ovako, najprije link na izvor skripte:

https://ctrlq.org/code/19687-backup-...google-scripts

kod:
Code:
/* Credit: https://github.com/hijonathan */

var RESOURCE_URL = 'https://news.google.com',
    BACKUP_FOLDER_ID = '<THE_ID_OF_THE_FOLDER_WHERE_YOUR_BACKUPS_WILL_LIVE>',
    FOLDER_NAME_FORMAT = 'yyyy-MM-dd',
    FILE_NAME_FORMAT = "yyyy-MM-dd'T'HH:00:00",

    // Customize your file extension.
    FILE_EXT = '.html',

    // Folder names are all going to look like this.
    now = new Date(),
    FOLDER_NAME = Utilities.formatDate(now, 'GMT', FOLDER_NAME_FORMAT),
    FILE_NAME = Utilities.formatDate(now, 'GMT', FILE_NAME_FORMAT) + FILE_EXT;

function createBackup() {
    var folder = getFolder(FOLDER_NAME);
    createBackupFile(folder, FILE_NAME, fetchData());
}

// Ensures we're always working within the backup directory.
function getFolder(name) {
    var backupFolder = getBackupFolder(),
        folders = backupFolder.getFoldersByName(name);

    if (folders.hasNext()) {
        folder = folders.next();
    } else {
        folder = backupFolder.createFolder(name);
    }
    return folder;
}

// Returns the root folder where our backups exist.
function getBackupFolder() {
    return DriveApp.getFolderById(BACKUP_FOLDER_ID);
}

function createBackupFile(folder, filename, data, overwrite) {
    if (overwrite) {
        // Technically we're not overwriting here. We're just deleting
        // the duplicates.
        var existingFiles = folder.getFilesByName(filename);
        while (existingFiles.hasNext()) {
            var file = existingFiles.next();
            folder.removeFile(file);
        }
    }
    folder.createFile(filename, data);
}

function fetchData() {
    var exportUrl = RESOURCE_URL;
    return UrlFetchApp.fetch(exportUrl);
}
potrebne preinake po redoslijedu važnosti, pa ako sve nisu izvedive pomogla bi svaka pomoć barem oko pojedinih:

1. može li se tekstualni sadržaj zamišljene stranice umjesto kao html spremiti u xlsx format radi lakše kasnije obrade podataka?
možda ovaj izvor može tu pomoći, ja ga međutim ne znam ukomponirati:
http://stackoverflow.com/questions/2...ng-apps-script

2. trenutno za svaki novi dan, ova skripta unutar google drivea i željenog foldera (nazovimo ga backup), radi novi folder. je li moguće da se unutar foldera backup ne rade podfolderi za svaki novi dan, nego se samo spremaju fileovi sa formatom naziva kako je sad definiran?

3. vidim da je naziv filea trenutno definiran kao yyyy-MM-dd'T'HH:00:00. je li moguće uz sate u naziv ubaciti i minutu nastanka filea. pretpostavljam da bi ove prve 00 trebalo promijeniti u format minuta, možda mm?

svaka pomoć oko ove teme bi mi dobro došla i bio bi zahvalan ako netko ima malo vremena.
prodo je offline   Reply With Quote
Oglas
 
Oglas
Oglasni prostor

Odgovori



Pravila postanja
Vi ne možete otvarati nove teme
Vi ne možete pisati odgovore
Vi ne možete uploadati priloge
Vi ne možete uređivati svoje poruke

BB code je Uključeno
Smajlići su Uključeno
[IMG] kod je Uključeno
HTML je Isključeno

Idi na