Skip to content

Instantly share code, notes, and snippets.

@mateusalxd
Last active September 6, 2019 14:31
Show Gist options
  • Save mateusalxd/9a6c344b42031d69900071b917b7301c to your computer and use it in GitHub Desktop.
Save mateusalxd/9a6c344b42031d69900071b917b7301c to your computer and use it in GitHub Desktop.
Scraping com Google App Script - Preço de Produto
/*
O Script abaixo abre uma Planilha do Google e inseri algumas informações referentes ao produto específico.
Link da planilha de modelo:
https://docs.google.com/spreadsheets/d/1JqHSrSatD_QoEaAUjeaIYL7Aiz3mZ5_FEhDVZ4xFGho/edit?usp=sharing
Observação: o id da planilha de modelo é 1JqHSrSatD_QoEaAUjeaIYL7Aiz3mZ5_FEhDVZ4xFGho,
porém não pode ser utilizado pois está como somente leitura.
Limites:
https://developers.google.com/apps-script/guides/services/quotas
Orientações:
1 - Abrir o planilha de modelo.
2 - Acessar menu Arquivo > Fazer uma cópia...
3 - Definir um nome de seu interesse e clicar em OK.
4 - Ao realizar os processos acima, você poderá editar a planilha.
5 - Na guia "Programacao" é o local onde devem ser cadastrados os produtos que serão verificados,
as principais informações são link do produto, xpath para obter o valor do produto e xpath
para obter qual a loja está vendendo o produto.
6 - Para realizar a execução automática do script, acesse o menu Ferramentas > Editor de script.
7 - Se o script não aparecer automaticamente, copie e cole o abaixo, alterando o id da planilha
de acordo com o id da planilha criada no passo 3.
8 - Acessar menu Edit > Current project's triggers.
9 - Clique em "No triggers set up. Click here to add one now." e adicione a programação de acordo
com seu interesse. *** FIQUE ATENTO AOS LIMITES ***
10 - Após salvar a programação da execução, será solicitada autorização para acessar e
editar planilhas suas planilhas, sem isso o processo não irá funcionar.
*/
function recuperar_protudos(planilha) {
var celulas = planilha.getRange("A2:E" + planilha.getLastRow());
return celulas.getValues();
}
function executar() {
var app = SpreadsheetApp.openById("XXXX"); /* informe o ID da planilha criada, conforme modelo acima*/
var planLista = app.getSheetByName("Lista");
var planTemp = app.getSheetByName("Temp");
var planProgramacao = app.getSheetByName("Programacao");
var produtos = recuperar_protudos(planProgramacao);
for (i = 0; i < produtos.length; i++) {
planTemp.getRange("A1").setFormula('=IMPORTXML("' + produtos[i][2] + '"; "' + produtos[i][4] + '|' + produtos[i][3] + '")');
if (planTemp.getRange("A1").getValue().toString() != "#N/A") {
if (!isNaN(parseFloat(planTemp.getRange("A1").getValue()))) {
planLista.appendRow([new Date(), produtos[i][0], produtos[i][2], produtos[i][1], planTemp.getRange("A1").getValue(), planTemp.getRange("A2").getValue()]);
} else {
planLista.appendRow([new Date(), produtos[i][0], produtos[i][2], produtos[i][1], planTemp.getRange("A2").getValue(), planTemp.getRange("A1").getValue()]);
}
planTemp.getRange("A1:A2").clear();
}
}
}
Copy link

ghost commented Nov 2, 2018

Legal ( :

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment