米花专栏:中考结束后,关于粉丝获取和 B 站的那些事

[复制链接]
查看436 | 回复0 | 2024-6-4 05:05:28 | 显示全部楼层 |阅读模式
BFM

这是米花第二次写专栏,如果有哪些不足的地方,希望你们多多包涵并给出建议~

总算结束了紧张的高考,成绩也下来了。3年的心放下来了,终于可以不务正业干自己喜欢的事情啦!

写在上面,根据 “社会易姐QwQ”()在github的回issue,粉丝获取最多只能获取50x20=1000名,无SESSDATA时只能获取50x5=250名。

非本人限制只能看前5页,本人限制只能看前50页,也就是假如粉丝少于1k旁边的为不可见,是否本人使用cookie认证

可以看何朋友那种粉丝墙的视频,他的信息来源不是直接抓取,还是问B站要的,B站的直接转换数据库

()

目录

这是这篇文章的目录,请依照须要阅读。

(每个要点用两只小电视括上去)

工具开发过程

开发一个第三方B站粉丝管理器

(满脸问号的你不知道为何忽然就开始开发了,点我)

根据B站规定,获取第五页之后的粉丝列表须要本人的SESSDATA。蛤?你问我啥是SESSDATA?

限制访问

SESSDATA

这是一串用于验证登录的秘钥,当我们完整走过一趟登陆流程后,我们将会获得SESSDATA、csrf等cookie,存储于本地。它们将用于验证执行粉丝查阅,视频投币、文章收藏等操作是否合法。 ——我 引 用 我 自 己

在同学的帮助下,我花了半天时间终于是搞定了C#中HttpWebClient恳求网页时header里cookie的设定,通过导出SESSDATA,顺利地解决了难以获得第六页及之后粉丝列表的问题。然后我将这个功能成功地在U3D编辑器里实现了(别问我为何用U3D,wssb)

成功在Unity 3D引擎 中获取第六页粉丝

从API获取的粉丝数据是以Json的通配符存储上去的。它们的基本结构大约是这样的。

{"这是一个键":这是一个值,"第二个键":第二个值}

{"mid":487763254,"attribute":0,"mtime":1596903325,"tag":null,"special":0,"uname":"Starshine一瞬","face":"http://i0.hdslb.com/bfs/face/f2b32878a9b3a26f3228acc8dbce290866112fd3.jpg","sign":"年底冲刺20w关注,现在关注我的都是元老级粉丝哦,点个关注,不吃亏不上当~","official_verify":{"type":-1,"desc":""},"vip":{"vipType":2,"vipDueDate":1618934400000,"dueRemark":"","accessStatus":0,"vipStatus":1,"vipStatusWarn":"","themeType":0,"label":{"path":""}}}

——一串长长的Json

为了易于处理这段数据,我须要把它们转换成别的方式。所以我用到了一款很受欢迎的Nuget程序包——NewtonSoft.Json。用于转换格式,便于处理。

Newtonsoft.Json

当我完成编程,在U3D中尝试运行的时侯,尴尬的事出现了。Microsoft Visual Studio中成功引用了Newtonsoft.json,但是U3D编辑器没有。我整了好久好久,使用的技巧包括但不限于重新引用、添加插件,但都以失败告终。

ljU3D!

生气的我一怒之下bully了笔记本一顿保存并退出Unity3D。这次,我直接用MicrosoftVisualStudio 2015新建了一个基于C#的窗体,然后重画代码,加了一亿、、细节。

亿、、细节

革命仍未成功,同志仍须努力!现在粉丝获取以及粉丝批量导入都已经完成了,正在完成剩下的SESSDATA手动获取功能和粉丝剖析功能。

用BFM批量导入你的粉丝

使用BilibiliFansManager轻松批量导入你的粉丝!

想要获得自己的粉丝全列表,就须要你自己的uid和SESSDATA。

如何获得自己的SESSDATA?

这里以GoogleChrome浏览器为例

Step 1

第一步在浏览器中打开B站登陆页面并登陆你的账号。点击网址两侧小锁,在弹出的窗口中选择“Cookie”

Step 2

第二步在Cookie页面中依次选择bilibili.com > Cookie > SESSDATA。在选中项下方的内容栏复制你的SESSDATA

※注意!SESSDATA非常重要,一般情况下请不要泄漏给其他人。SESSDATA在刷新后或则Cookie到期后就不可用了,如果你害怕SESSDATA被人窃取,只须要在任意一台设备上重新登录你的账号就行了。

在BFM获取页面下方的两个框中分别填入你的Uid和SESSDATA,点击开始获取。获取时间根据你粉丝数的多少决定。粉丝越多须要的时间越久。



等列表完全显示,就代表粉丝列表获取成功。这时,点击右下方的导入按键即可导入为Text阵列文件。

※申明!此软件不会以任何理由泄露您的SESSDATA,软件将会在基本完成后在github上开源。

将txt文档转换到Excel表格

txt2xlsx 1

一、打开选择格式为文本文档

txt2xlsx 2

二、选择刚才导入的txt文本文档

txt2xlsx

三、根据上图设置导出选项

txt2xlsx

四、调整一下行距完成!

BilibiliFansManager下载

你都听到这儿了,不如点个推荐和收藏吧!

百度云盘

BaiduYunDisk

提取码: 2333

百度云下载

上期
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则