您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
自动获取所有粉丝名字
当前为
// ==UserScript== // @name CC98查询粉丝的变动 // @namespace http://tampermonkey.net/ // @version 5.1 // @description 自动获取所有粉丝名字 // @author Lay // @match https://www.cc98.org/usercenter/myfans // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @license AGPL -3.0 // @grant GM_xmlhttpRequest // ==/UserScript== (function () { 'use strict'; // 提取总页数 function getTotalPages() { const pageCountElement = document.querySelector('#userCenterPageCount ul'); let totalPages = 0; if (pageCountElement) { const pageItems = pageCountElement.querySelectorAll('li'); totalPages = pageItems.length; console.log(`总页数: ${totalPages}`); } else { console.error('无法找到总页数元素'); } return totalPages; } // 获取当前页面的粉丝信息 function getFansFromCurrentPage() { let fanElements = document.querySelectorAll('.user-center-myfollowings-user'); let fans = Array.from(fanElements).map(el => { let name = el.querySelector('.user-center-myfollowings-user-id a').textContent.trim(); let posts = el.querySelector('.user-center-myfollowings-user-posts').textContent.trim(); let followers = el.querySelector('.user-center-myfollowings-user-fans').textContent.trim(); return { name, posts, followers }; }); console.log("当前页粉丝信息:", fans); return fans; } // 抓取所有粉丝信息 async function scrapeAllFans() { let allFans = []; let totalPages = getTotalPages(); // 如果获取不到总页数,停止执行 if (totalPages === 0) { console.error("无法获取总页数,无法继续执行"); return; } for (let i = 1; i <= totalPages; i++) { console.log(`正在抓取第 ${i} 页...`); // 模拟点击翻页 await changePage(i); // 获取当前页面的粉丝信息 let fans = getFansFromCurrentPage(); allFans = allFans.concat(fans); } console.log("所有粉丝信息:", allFans); alert(`共抓取到 ${allFans.length} 位粉丝的信息!`); // 获取并存储上次存储的粉丝信息 let storedFans = JSON.parse(localStorage.getItem("fansData") || "[]"); // 比较当前粉丝与之前存储的粉丝数据 compareFansData(allFans, storedFans); // 存储当前抓取到的粉丝信息 localStorage.setItem("fansData", JSON.stringify(allFans)); } // 比较当前粉丝数据与存储的粉丝数据 function compareFansData(currentFans, storedFans) { let addedFans = currentFans.filter(currentFan => !storedFans.some(storedFan => storedFan.name === currentFan.name) ); let removedFans = storedFans.filter(storedFan => !currentFans.some(currentFan => currentFan.name === storedFan.name) ); if (addedFans.length > 0) { alert(`新增的粉丝: ${addedFans.map(fan => fan.name).join(', ')}`); } if (removedFans.length > 0) { alert(`移除的粉丝: ${removedFans.map(fan => fan.name).join(', ')}`); } if (addedFans.length === 0 && removedFans.length === 0) { alert("没有粉丝变动"); } } // 模拟点击分页链接并等待加载 async function changePage(pageNumber) { let paginationLink = document.querySelector(`#userCenterPageCount ul li:nth-child(${pageNumber}) a`); if (paginationLink) { console.log(`点击分页链接: 第 ${pageNumber} 页`); paginationLink.click(); // 等待页面加载完成,可以调整等待时间以确保页面加载完毕 await new Promise(resolve => setTimeout(resolve, 2000)); } else { console.error(`找不到第 ${pageNumber} 页的分页链接`); } } // 延迟执行脚本 setTimeout(function () { console.log("脚本已延迟执行"); // 执行抓取粉丝信息 scrapeAllFans(); }, 1000); // 延迟 1000 毫秒 (1秒) })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址