Неправильный Xpath для создания веб-страниц - PullRequest
0 голосов
/ 15 мая 2019

Мне нужно узнать среднюю температуру в моем городе по дням, но я могу получить правильный xpath.

Привет всем!Мне нужно узнать среднюю температуру моего города днем.У меня есть сайт, где данные.Мне нужно сделать webscrapping, чтобы получить файл csv или xlsx.я нашел хороший сценарий в интете, но когда я использую, я получаю неправильный xpath.Xpath - с расширением Chrome Webscrapper.веб-сайт: https://www.prevision -meteo.ch / climat / journalier / caen-carpiquet / 2019-01 Используется Xpath: // * [@ id = "climat"] / div [2] / main / div/ div [1] / section / div [2] / div / table / tbody / tr [1] / td [4]

function importAndCleanData() {
// Initialisation
  var cacheVal = Math.random(); // génération d'un nombre aléatoire pour contrer le cache du navigateur lors des requêtes IMPORTXML.
  var ss = SpreadsheetApp.getActiveSpreadsheet(); // association avec le classeur
  var sheet_setup = ss.getSheetByName("setup"); // association avec la feuille "setup"
 var sheet_process = ss.getSheetByName("process");
 var sheet_data = ss.getSheetByName("data");
// Configuration des requêtes IMPORTXML
  // construction de la formule IMPORTXML en concaténant les paramètres de la feuille "setup".
  var scrapeData1 = '=IMPORTXML("' + sheet_setup.getRange('C2').getValue() + '?cacheVar=' + cacheVal + '";"'+ sheet_setup.getRange('B2').getValue() + '")';
 // Injection de la formule dans la cellule appropriée de la ligne de données de référence dans la feuille "Data"
  sheet_process.getRange('B2').setValue(scrapeData1);
// Formatage des données
  // cleaning des données pour uniformiser les données
  var valB2 = sheet_process.getRange('B2').getValue(); /// on récupère la valeur de la cellule
  var valB2_c = valB2.toString().replace(".",","); // on remplace le point "." par une virgule ","
  sheet_process.getRange('B2').setValue(valB2_c);  // on réinjecte la nouvelle valeur dans la cellule
//// On fait la même chose pour les deux autres requêtes
var scrapeData2 = '=IMPORTXML("' + sheet_setup.getRange('C3').getValue() + '?cacheVar=' + cacheVal + '";"'+ sheet_setup.getRange('B3').getValue() + '")';
sheet_process.getRange('C2').setValue(scrapeData2);
var valC2 = sheet_data.getRange('C2').getValue();
var valC2_c = valC2.toString().replace(".",",");
sheet_process.getRange('C2').setValue(valC2_c);
var scrapeData3 = '=IMPORTXML("' + sheet_setup.getRange('C4').getValue() + '?cacheVar=' + cacheVal + '";"'+ sheet_setup.getRange('B4').getValue() + '")';
sheet_process.getRange('D2').setValue(scrapeData3);
var valD2 = sheet_process.getRange('D2').getValue();
var valD2_c = valD2.toString().replace(".",",");
sheet_process.getRange('D2').setValue(valD2_c);
var now = new Date(); // on met à jour la date dans la premiere colonne de la ligne de données de référence.
heet_process.getRange('A2').setValue(now);
//// Ajout des données formatées
sheet_data.appendRow([now,valB2_c,valC2_c,valD2_c]); // et pour finir, on injecte les données "clean" dans une nouvelle ligne de la feuille "data".
}

Используя лист Google, я ожидаю, что мои данные будут влист "данные" Но я просто получаю ошибку с неправильным Xpath

...