如果你看到本段文字,说明该页面未正常加载全局JS,部分功能无法使用,请点击 刷新 重新加载页面。
如果打开页面显示缩略图创建出错,请点击刷新或页面右上WIKI功能中的刷新按钮清除页面缓存并刷新,如果还有问题,请多尝试几次。
全站通知:
用户:1541127/关于自动化编辑bwiki
刷
历
编
跳到导航
跳到搜索
前言
bwiki现阶段使用b站账户登录的验证方式,难以通过传统的mediawiki登录验证手段登录,我们需要通过在浏览器上登录bwiki获取Cookies,之后再使用python库mwclient进行自动化编辑。本文适合有一定python基础,或者其他编程语言基础的读者,如无编程基础请不要轻易尝试。
Cookies等同于你的账户密码,获取后任何人都可以登录你的账户进行操作,请不要把Cookies发给陌生人!!
环境搭建
- 首先安装最新版本的python3,然后使用PyPI安装最新版本的mwclient
$ pip install mwclient
- 安装完成后,首先在python脚本内导入需要的库
import requests import mwclient
- 我们需要获取浏览器的Cookies,参照下面的代码找wiki.biligame.com和biligame.com的Cookie
cookies = {'gamecenter_wiki_UserGroups': '', 'gamecenter_wiki_UserID': '', 'gamecenter_wiki_UserName': '', 'gamecenter_wiki__session': '', 'SESSDATA': ''}
- 创建一个requests的Session作为mwclient使用的Session,把之前获取的Cookies用requests的工具直接放入Session以跳过mwclient的登录过程
pool = requests.Session() requests.utils.add_dict_to_cookiejar(pool.cookies, cookies)
- 创建mwclient的Site对象,传入pool参数
site = mwclient.Site("wiki.biligame.com/blhx", path='/', pool=pool)
使用方式
- mwclient封装了诸多MediaWiki的API,如获取页面内容,编辑页面等
page = site.pages('测试') text = page.text() page.edit('测试内容','测试编辑原因')
- 具体的mwclient使用方式请参照mwclient使用文档