7

微博超话每日经验Python自动收集法,一年稳升12级

 3 years ago
source link: https://zhuanlan.zhihu.com/p/74287966
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

微博超话每日经验Python自动收集法,一年稳升12级

同济大学 计算机科学与技术硕士在读

超话升级遥遥无期?每天固定25经验,一年就是365*25=9125,快够你升到13级了,难点在于坚持做这三件事:

  1. 签到(+8)
  2. 评论5次(+9)
  3. 打榜(+8)

为了一劳永逸地解决这个麻烦,可以使用Webdriver自动化脚本,这是现成品:

Github地址:

为了避免被判定为作弊的风险,这个工具直接利用了Chrome的调试模式,跟用户自己打开浏览器没有任何区别,网站也无法通过前端验证的方法判断是否是自动化工具在背后操作,堪称网页hack的终极方法。但是这种方法跟直接使用Selenium比还是有很多牺牲的,因为对浏览器的功能定制(如无图模式、不加载CSS等)都是在启动参数中指定的,可选项远远没有Selenium丰富。其实也够用了,而且可以直接使用现成的用户登陆状态。

三、准备工作

首先你需要一台Windows Server(推荐),这台机器也可以用来做其它每日任务,比如说贴吧签到什么的。如果你家有电脑,每天都可以开机,也是可以挂任务的。

然后你需要装上Python、Chrome、Python的包、Chrome的chromedriver.exe等基础设施。一切搞定后,请在Chrome上登录您的微博账号,然后修改脚本里的两个链接:

最后一步就是创建一个Windows每日计划任务,请参考:

Windows创建计划任务定时执行Python脚本 - 云+社区 - 腾讯云​cloud.tencent.com

一定要勾选这个,然后输入管理员密码

它可以让计划任务在无GUI的模式下运行

四、不完美之处以及解决计划

首先是微博的打榜风控检测,每日打榜有可能会触发异常行为,这种情况没办法,需要您自己手动打榜一次,然后解除验证。

其次是Webdriver定位网页元素的xpath失效的风险,这里我考虑用这个文章里的热更新的方法,避免脚本的更新麻烦:


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK