B站获取up主投稿数据

此插件用于获取B站up主投稿列表数据,附带导出Excel网站 进入up主投稿视频列表后,首先选择右侧列表展示(不支持方块展示)。 此时,页面“TA的视频”标题处将出现“开始统计”按钮,点击后将从当前页开始统计数据。 期间请保持网络状态稳定,切勿操作当前页面(不影响其他窗口页面操作)。 一页数据大概耗时1秒(过于频繁会被封ip),根据总页数自行判断所需时间。 待数据统计完毕后,“开始统计”按钮后会出现 文本输入域(内含所有统计数据) 和 导出Excel的跳转按钮。 首选选中复制文本输入域内所有文字,然后点击“导出Excel”跳转按钮。 在新开页面右侧,粘贴复制的统计数据,页面下方即出现下载按钮。

  1. // ==UserScript==
  2. // @name B站获取up主投稿数据
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.2
  5. // @description 此插件用于获取B站up主投稿列表数据,附带导出Excel网站 进入up主投稿视频列表后,首先选择右侧列表展示(不支持方块展示)。 此时,页面“TA的视频”标题处将出现“开始统计”按钮,点击后将从当前页开始统计数据。 期间请保持网络状态稳定,切勿操作当前页面(不影响其他窗口页面操作)。 一页数据大概耗时1秒(过于频繁会被封ip),根据总页数自行判断所需时间。 待数据统计完毕后,“开始统计”按钮后会出现 文本输入域(内含所有统计数据) 和 导出Excel的跳转按钮。 首选选中复制文本输入域内所有文字,然后点击“导出Excel”跳转按钮。 在新开页面右侧,粘贴复制的统计数据,页面下方即出现下载按钮。
  6. // @author You
  7. // @include https://space.bilibili.com/*
  8. // @icon https://space.bilibili.com/favicon.ico
  9. // @grant none
  10. // @require http://code.jquery.com/jquery-1.11.0.min.js
  11. // @license MIT
  12. // ==/UserScript==
  13.  
  14. (function() {
  15. 'use strict';
  16. setTimeout(() => {
  17. let videoList = []
  18. let totalPage = 0
  19. let nowPage = 0
  20. $('.page-head__left').append(`<button id="startCalc">开始统计</button>`)
  21. $(document).on('click', '#startCalc', function() {
  22. if ($('.be-pager-item-active').attr('title').split(':')[0] === '最后一页') {
  23. nowPage = parseInt($('.be-pager-item-active').attr('title').split(':')[1])
  24. } else {
  25. nowPage = parseInt($('.be-pager-item-active').attr('title'))
  26. }
  27. totalPage = parseInt($('.be-pager-total').text().split('共 ')[1].split(' 页,')[0])
  28. startCalc()
  29. })
  30. $(document).on('click', '#checkResult', function() {
  31. $('.page-head__left').append(`<textarea id="dataText" value="" type="text"></textarea><a href="https://data.page/json/csv" target="blank">导出Excel</a>`)
  32. $('#dataText').val(JSON.stringify(videoList))
  33. })
  34. function startCalc() {
  35. console.log(nowPage)
  36. if (nowPage > totalPage) {
  37. $('.page-head__left').append(`<textarea id="dataText" value="" type="text" readonly></textarea><a href="https://data.page/json/csv" target="blank">导出Excel</a>`)
  38. $('#dataText').val(JSON.stringify(videoList))
  39. return
  40. }
  41. for (let i = 0; i < $('.list-list').children('.list-item').length; i++) {
  42. const element = $('.list-list').children('.list-item').eq(i)
  43. let title = element.children('.c').children('.title-row').children('.title').attr('title')
  44. let href = element.children('.c').children('.title-row').children('.title').attr('href')
  45. let desc = element.children('.c').children('.desc').attr('title')
  46. let play = element.children('.c').children('.meta').children('.play').text().split('\n')[0]
  47. let bulletComments = element.children('.c').children('.meta').children('.comments').text().split('\n')[0]
  48. videoList.push({
  49. title: title,
  50. href: href,
  51. desc: desc,
  52. play: play,
  53. bulletComments: bulletComments
  54. })
  55. }
  56. // loopCheck()
  57. $('.be-pager-next').click()
  58. nowPage++
  59. console.log(videoList)
  60. setTimeout(() => {
  61. startCalc()
  62. }, 1000)
  63. }
  64. }, 2000)
  65. })();

QingJ © 2025

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