From 37a85f2841a015add2512218f557053c91e10333 Mon Sep 17 00:00:00 2001 From: buzzcode2007 <73412182+buzz-lightsnack-2007@users.noreply.github.com> Date: Fri, 5 Apr 2024 09:50:34 +0800 Subject: [PATCH] make sure to remove empty fields when scraping website data --- scripts/reader.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/scripts/reader.js b/scripts/reader.js index caa9ec5..dba1241 100644 --- a/scripts/reader.js +++ b/scripts/reader.js @@ -28,22 +28,28 @@ export default class reader { if (field_current) { // Check if array. if (Array.isArray(field_current)) { + // Temporarily create an empty list. field_data[field_names[field_index]] = []; - if (typeof field_current[0] === "object" && field_current[0] != null && field_current[0]) { field_data[field_names[field_index]].push(read(field_current[0])); } else { let matching_elements = (document.querySelectorAll(field_current[0])); - for (let field_current_index = 0; field_current_index < matching_elements.length; field_current_index++) { field_data[field_names[field_index]].push(matching_elements[field_current_index].innerText); }; }; + + // Must cease to exist if it was just empty anyway. + if ((field_data[field_names[field_index]]).length <= 0) { + delete field_data[field_names[field_index]]; + } } else if (typeof field_current === "object" && field_current != null && field_current) { field_data[field_names[field_index]] = read(field_current); } else { - field_data[field_names[field_index]] = (document.querySelector(field_current)) ? document.querySelector(field_current).innerText : null; + if (document.querySelector(field_current)) { + field_data[field_names[field_index]] = document.querySelector(field_current).innerText; + } }; }; };