Xs的网页抓取错误

时间:2019-05-15 09:27:20

标签: javascript google-apps-script web-scraping google-sheets

我需要按日获取城市的平均温度,但要获得正确的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错误

0 个答案:

没有答案