In ein wenig Ausfallzeit von der Arbeit habe ich mich entschieden, mit Daten-Scraping und JSON nur für ein bisschen Spaß herumzualbern. Also habe ich eine Dummy-Seite auf meiner Seite eingerichtet, die alle x Minuten einen Song-Namen und einen Künstler ändert und einen Scraper erstellt, um die Seite abzuziehen und in eine JSON-Datei zu schreiben. So weit, ist es gut. Mein Skript zieht die Daten von der Seite, wenn es sinnvoll ist, und schreibt sie in eine JSON-Datei, aber das Zurückkommen ist ungültig. Worauf ich hinaus will ist dieseErstellen einer gültigen JSON-Datei aus gezogenen Daten
{
"trackName": "Feels So Close",
"artistTitle": "Calvin Harris",
"playTime": "9:24"
}{
"trackName": "",
"artistTitle": "Studio B",
"playTime": "9:28"
}
Und was ich will, ist eher wie dieses
{
"response1": {
"trackName": "Feels So Close",
"artistTitle": "Calvin Harris",
"playTime": "9:24"
},
"response2": {
"trackName": "",
"artistTitle": "Studio B",
"playTime": "9:28"
}
}
Das die js ist, die die Daten zieht:
request("mySite", function(error, response, body) {
if(error) {
console.log("Error: " + error);
}
console.log("Status code: " + response.statusCode);
var $ = cheerio.load(body);
$('.track').each(function(index){
var json = { trackName: "", artistTitle: "", playTime: ""};
var title = $(this).find(".track a").text().trim();
var artist = $(this).find(".artist").text().trim();
var hours = new Date().getHours();
var mins = new Date().getMinutes();
json.trackName = title;
json.artistTitle = artist;
json.playTime = hours + ":" + mins;
fs.appendFileSync('trackList.json', JSON.stringify(json, null, 4), function(error){
if(error) {
console.log('Error: ' + error);
};
});
});
});
Jede Hilfe wird sehr geschätzt, Vielen Dank!
Ich habe nach einer Lösung gesucht, aber da ich nicht wirklich weiß, wonach ich suchen soll, kam ich hierher, um in die richtige Richtung zu gehen. – Damien