main.py:粉丝列表里按钮没写「已互粉」的就移除

🧑‍💻 站长 2026-10-15 阅读约 10 分钟 12 阅读 # Python# DrissionPage# 浏览器自动化# XPath 会员专属

清粉丝是鼠标点三下的活:卡片右下角的「更多」、弹层里的「移除粉丝」、弹窗里的确认。一页十几条,清到第二页手就废了,所以写了这个脚本。整个 main.py 八十行出头,只清自己空间的粉丝,也只给自己用。自动化操作在平台那边算什么性质,文末写清楚了,动手前先看了那段。

登录不归它管

from DrissionPage import ChromiumPage

page = ChromiumPage().latest_tab

ChromiumPage() 不带参数,就按 DrissionPage 自己包里 _configs/configs.ini 那行 address = 127.0.0.1:9222 去接管一个已经开着的浏览器,latest_tab 拿当前最新的标签页。B 站的登录态在那个浏览器里,脚本只负责读和点。

文件开头注释掉的一段是早期版本,用 XPath 依次填手机号、密码、点登录。这几行现在是死的,跑之前手工登一次就行。

入口、页数、翻页

page.get('https://space.bilibili.com/<自己的UID>/relation/fans?spm_id_from=333.33.0.0')

all_pages = page.ele('xpath://*[@id="app"]/main/div[1]/div[2]/div[2]/div[1]/button[10]')
print(f'共{all_pages.text}页')
for i in range(2):
    print(f'第{i+1}页')

button[10] 是分页条上倒数那个按钮,文本形如「共 12 页」,取出来只为打印一行。真正决定跑几页的是下面那个 range(2),一个写死的常量,跟读到的页数没有关系,想全清完得自己把这个 2 改大。循环末尾点的是 button[11],下一页也靠位置。

这两个下标和上面那一长串 …

本篇为会员专属内容

开通会员即可阅读全文,会员期内所有更新自动解锁。

已可试读 30% · 到期前续费顺延有效时长
☆ 收藏
觉得有帮助就点个赞吧
站
站长

全栈开发者,专注 Django / 架构 / 独立开发。这里的每一篇内容都来自真实项目踩坑。

查看会员权益

评论(0)

会员文章评论区仅会员可参与讨论。
还没有评论,来抢沙发
🍪 隐私提示 我们仅收集提供服务所必需的信息(详见《隐私政策》),不出售、不追踪。
会员专享¥19 起
开通会员