CC98查询粉丝的变动

自动获取所有粉丝名字

当前为 2024-12-29 提交的版本,查看 最新版本

// ==UserScript==
// @name         CC98查询粉丝的变动
// @namespace    http://tampermonkey.net/
// @version      3.6
// @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 getAllPageLinks() {
    const baseUrl = window.location.origin; // 获取当前页面的根地址
    const currentPath = window.location.pathname.split('/').slice(0, -1).join('/'); // 获取当前页面路径
    const totalPages = getTotalPages(); // 获取总页数
    let links = [];

    for (let i = 1; i <= totalPages; i++) {
        links.push(`${baseUrl}${currentPath}/${i}`); // 构造分页链接
    }

    console.log("生成的分页链接:", links); // 调试日志
    return links;
}

// 提取当前页粉丝信息
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 links = getAllPageLinks(); // 获取分页链接

    for (let i = 0; i < links.length; i++) {
        console.log(`正在抓取第 ${i + 1} 页...`); // 调试日志
        await fetchPage(links[i]); // 模拟页面跳转加载

        let fans = getFansFromCurrentPage();
        allFans = allFans.concat(fans);
    }

    console.log("所有粉丝信息:", allFans); // 调试日志
    alert(`共抓取到 ${allFans.length} 位粉丝的信息!`);
}

// 模拟页面跳转并等待内容加载
async function fetchPage(url) {
    window.location.href = url; // 模拟跳转
    await new Promise(resolve => setTimeout(resolve, 2000)); // 等待页面加载
}

// 执行抓取
scrapeAllFans();

})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址