一、前言
超话升级遥遥无期?每天固定25经验,一年就是365*25=9125,快够你升到13级了,难点在于坚持做这三件事:
- 签到(+8)
- 评论5次(+9)
- 打榜(+8)
为了一劳永逸地解决这个麻烦,可以使用Webdriver自动化脚本,这是现成品:
Github地址:
LiuChangFreeman/weibo-chaohua-dailygithub.com二、原理
为了避免被判定为作弊的风险,这个工具直接利用了Chrome的调试模式,跟用户自己打开浏览器没有任何区别,网站也无法通过前端验证的方法判断是否是自动化工具在背后操作,堪称网页hack的终极方法。但是这种方法跟直接使用Selenium比还是有很多牺牲的,因为对浏览器的功能定制(如无图模式、不加载CSS等)都是在启动参数中指定的,可选项远远没有Selenium丰富。其实也够用了,而且可以直接使用现成的用户登陆状态。
三、准备工作
首先你需要一台Windows Server(推荐),这台机器也可以用来做其它每日任务,比如说贴吧签到什么的。如果你家有电脑,每天都可以开机,也是可以挂任务的。
然后你需要装上Python、Chrome、Python的包、Chrome的chromedriver.exe等基础设施。一切搞定后,请在Chrome上登录您的微博账号,然后修改脚本里的两个链接:
最后一步就是创建一个Windows每日计划任务,请参考:
Windows创建计划任务定时执行Python脚本 - 云+社区 - 腾讯云cloud.tencent.com一定要勾选这个,然后输入管理员密码
它可以让计划任务在无GUI的模式下运行
四、不完美之处以及解决计划
首先是微博的打榜风控检测,每日打榜有可能会触发异常行为,这种情况没办法,需要您自己手动打榜一次,然后解除验证。
其次是Webdriver定位网页元素的xpath失效的风险,这里我考虑用这个文章里的热更新的方法,避免脚本的更新麻烦:
CH兔:为了看《创造101》,我顺手做了个腾讯视频UWP......zhuanlan.zhihu.com