From 7cbf8e36a6e93fd5b4971b46ce202c4380f8d865 Mon Sep 17 00:00:00 2001 From: biglyderv Date: Fri, 31 Jan 2025 20:21:42 -0500 Subject: [PATCH] f --- site.js | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/site.js b/site.js index 2717dca..854c156 100644 --- a/site.js +++ b/site.js @@ -24,6 +24,8 @@ async function urlCollector(url, path, file, useLimit) { let links = body('a'); let urls = []; links.each(function(i, link) { + if (useLimit && urls.length >= pageLimit * 40) return; + let h = body(link).attr('href'); if (!h) return; h = h.trim(); @@ -34,8 +36,14 @@ async function urlCollector(url, path, file, useLimit) { u.pathname = h; h = u.toString(); } - urls.push(h) - if (useLimit && urls.length >= pageLimit * 40) return urls; + let h2; + try { + h2 = new URL(h); + } catch(err) { + return; + } + urls.push(h2.toString()) + urls.push(h2.origin) }) return urls; @@ -178,23 +186,23 @@ async function siteCollector(user, path, site, useLimit) { p = p.concat(congested); await Promise.all(p); - for (let uf in users) { - let u = users[uf]; + for (let uf in data) { + let u = data[uf]; if (!u) continue; let { following, followers } = u; if (!following || !followers) continue; for (let f of followers) { - if (!users[f]) users[f] = {}; - if (!users[f].following) users[f].following = []; - if (users[f].following.indexOf(uf) == -1) { - users[f].following.push(uf); + if (!data[f]) data[f] = {followers: []}; + if (!data[f].following) data[f].following = []; + if (data[f].following.indexOf(uf) == -1) { + data[f].following.push(uf); } } for (let f of following) { - if (!users[f]) users[f] = {}; - if (!users[f].followers) users[f].followers = []; - if (users[f].followers.indexOf(uf) == -1) { - users[f].followers.push(uf); + if (!data[f]) data[f] = {following: []}; + if (!data[f].followers) data[f].followers = []; + if (data[f].followers.indexOf(uf) == -1) { + data[f].followers.push(uf); } } }