大家好,我是小黄。

上期我们介绍了基于云部署的deepseek自动分析整合Dou音的低粉爆款视频数据。那么很多小伙伴都来问我能不能出一个Kuai手版本的。

我们先看看效果。我们根据控制台的输出调试可以看出,作品和作者的数据基本一致。

因为近段时间的DeepSeek的官网还是很容易繁忙,所以我们今天老样子,还是使用自己部署到云平台的deepSeek来实现。

一.注册登录云平台

1.填写注册的基本信息后登录云平台

平台直达:https://cloud.lanyun.net/#/registerPage?promoterCode=490396da6b

2.点击选择应用市场。

 3.选择对应的DeepSeek模型。

4.选择模型对应的显卡配置 

 5.成功部署后启动应用 

 之后我们就可以正常询问了:

我们本次需要使用到篡改猴插件。

大家不会安装的可以自行搜索安装一下,我们本次重点介绍采集的脚本。

我们基于某dou音的数据采集,效果如下:在页面友上角创建一个按钮,采集完成的数据会生成一个excel表格。我们可以根据表格快速找到我们想要参考的数据。

最终部分脚本:完整的脚本大家可以关注小黄回复:Kuai手爆款获取

主要逻辑:我们通过油猴脚本去获取作品超过50000点赞的爆款视频,并把符合条件的视频数据导出,包括作者,作品的点赞数量,作品的连接等。

部分脚本:我们可以设置作品的最少点赞和作者的粉丝数,不符合的数据不进行保存

// ==UserScript==
// @name         快手低粉爆款视频采集
// @namespace    http://tampermonkey.net/
// @version      1.6
// @description  点击按钮采集快手点赞数大于5000且粉丝数少于3000的视频数据,支持超时检测和错误处理
// @author       XiaoHuangCodeing
// @match        https://www.kuaishou.com/*
// @grant        GM_xmlhttpRequest
// @grant        GM_addStyle
// @require      https://cdn.jsdelivr.net/npm/xlsx@0.18.5/dist/xlsx.full.min.js
// ==/UserScript==

(function () {
    'use strict';

    // 存储采集到的视频数据
    let videoData = [];
    // 存储符合条件到的视频数据
    let targetData = [];
    // 存储粉丝数据
    let fansData = [];

    let exportout = false; // 是否导出数据
    // 定义筛选条件
    const MIN_LIKES = 50000; // 最小点赞数
    const MAX_FOLLOWERS = 30000; // 最大粉丝数
    const MAX_NUM = 40; // 最大采集数量
    let seratchNum = 0; // 采集数量

    // 定义超时时间(单位:毫秒)
    const TIMEOUT_DURATION = 10000; // 10 秒

    // 等待页面加载完成
    window.addEventListener('load', function () {
        // 添加按钮样式
        GM_addStyle(`
            #collect-button {
                position: fixed !important;
                top: 60px !important;
                right: 20px !important;
                z-index: 9999 !important;
                padding: 10px 20px !important;
                background-color: #ff2442 !important;
                color: white !important;
                border: none !important;
                border-radius: 5px !important;
                cursor: pointer !important;
                font-size: 14px !important;
            }
            #collect-button:hover {
                background-color: #e0213a !important;
            }
        `);

        // 添加按钮到页面
        const button = document.createElement('button');
        button.id = 'collect-button';
        button.innerText = '开始采集';
        document.body.appendChild(button);

        // 按钮点击事件
        button.addEventListener('click', () => {
            button.innerText = '采集中...';
            button.disabled = true;
            exportout = true;
            videoData = []; // 重置数据
            targetData = [];
            fansData = [];
            seratchNum = 0;
            getVideoInfo();
            setTimeout(() => {
                if (videoData.some(item => item.粉丝数 === '加载中...')) {
                    console.log('采集超时,导出已采集的数据');
                    console.log(targetData);
                    exportToExcel(targetData);
                    button.innerText = '开始采集';
                    button.disabled = false;
                }
            }, TIMEOUT_DURATION);
        });
    });

    // 获取视频信息
    function getVideoInfo() {
        const videoItems = document.querySelectorAll('.video-item'); // 获取所有视频项

        videoItems.forEach((video, index) => {
            const title = video.querySelector('.video-info-title')?.innerText || '未知标题'; // 标题
            const likesText = video.querySelector('.info-text')?.innerText || '0'; // 点赞数文本
            const likes = parseCount(likesText); // 解析点赞数
            const cover = video.querySelector('.poster-img')?.src || '未知封面'; // 封面图链接

            // 将数据存储到数组中
            videoData.push({
                标题: title,
                点赞数: likes,
                封面图: cover,
                粉丝数: '加载中...' // 初始占位符
            });

            console.log(`视频标题: ${title}, 点赞数: ${likes}, 封面图: ${cover}`);
        });

        // 如果没有视频数据
        if (videoData.length === 0) {
            alert('未找到视频数据');
            button.innerText = '开始采集';
            button.disabled = false;
        }
         if (videoData.length >= MAX_NUM) {
             const filteredVideoData = [];

             // 遍历 videoData 数组
             for (let i = 0; i < videoData.length; i++) {
                 const video = videoData[i];
                 // 检查当前视频的点赞数是否大于 50000
                 if (video.点赞数 > MIN_LIKES) {
                     // 如果满足条件,将该视频数据添加到 filteredVideoData 数组中
                     filteredVideoData.push(video);
                 }
             }

            exportToExcel(filteredVideoData);

        }
    }

导出excel效果: 

好了,今天的分享就到这里了,认知易,行动难,大家快去体验一下吧!体验网址: https://cloud.lanyun.net/#/registerPage?promoterCode=490396da6b 

点击阅读全文
Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐