原文链接

带大家一起来白嫖一波Github的免费计算资源呀~​mp.weixin.qq.com

导语

新的一周,从手把手带大家一起来白嫖一波Github的计算资源开始。

白嫖的主要原理是利用Github的Actions功能,该功能于2018年10月推出。关于它的详细介绍,可以参见:

https://docs.github.com/en/actions

废话不多说,让我们愉快地开始白嫖吧~

相关文件

没有固定的相关文件,这里给出一些公众号之前发过的可以利用的有趣案例吧:

Python监控小姐姐/小哥哥微博,了解一下?

整个小例子呗,实现一下网易云音乐自动签到

开发工具

Python版本:3.6.4
相关模块:
requests模块;
DecryptLogin模块;
以及一些python自带的模块。

环境搭建

去注册个Github账号就行:https://github.com/

白嫖教程

先来简单介绍一下Github的Actions吧,以免各位小伙伴一头雾水。按照官方自己的定义,就是:

Focus on what matters: code. With GitHub Actions you can automate your workflow from idea to production.

说白了,Actions就是一系列的操作,开发者可以通过定义Actions来让你的日常开发流程中的很多事情可以自动化起来。而对于白嫖党来说,我们只需要知道,有了这个功能,我们就可以愉快地白嫖Github的计算资源来干一些我们想干的事情啦。比如说:

  • 各大网站、论坛的每日自动签到;
  • 每天给自己的邮箱发天气预报/笑话等;
  • 下载需要fq才能看到的视频;
  • 监控某个人是否发了微博,如果发了就邮件/短信通知自己等等。

上面只是我灵机一动想到的几个还算有趣的点子,大家也可以充分发挥自己的脑回路,来花式地白嫖Github的计算资源。

ok,说了这么多废话,也该开启我们的白嫖之旅了,这里我们以公众号之前的网易云自动签到脚本为例好了:

整个小例子呗,实现一下网易云音乐自动签到

首先,新建一个repo:

然后把我们的自动签到脚本提交到这个repo上去(需要在之前那个版本的基础上做一点小的修改,即改变读取用户名密码的方式):

'''
Function:网易云音乐自动签到
Author:Charles
微信公众号:Charles的皮卡丘
'''
import os
import re
from DecryptLogin import login
from DecryptLogin.platforms.music163 import Cracker'''网易云音乐自动签到'''
class NeteaseSignin():def __init__(self, username, password, **kwargs):self.username = usernameself.session = NeteaseSignin.login(username, password)self.csrf = re.findall('__csrf=(.*?) for', str(self.session.cookies))[0]self.cracker = Cracker()self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36','Content-Type': 'application/x-www-form-urlencoded','Referer': 'http://music.163.com/discover','Accept': '*/*'}'''外部调用'''def run(self):# 签到接口signin_url = 'https://music.163.com/weapi/point/dailyTask?csrf_token=' + self.csrf# 模拟签到(typeid为0代表APP上签到, 为1代表在网页上签到)typeids = [0, 1]for typeid in typeids:client_name = 'Web端' if typeid == 1 else 'APP端'# --构造请求获得响应data = {'type': typeid}data = self.cracker.get(data)res = self.session.post(signin_url, headers=self.headers, data=data)res_json = res.json()# --判断签到是否成功if res_json['code'] == 200:print('[INFO]: 账号%s在%s签到成功...' % (self.username, client_name))else:print('[INFO]: 账号%s在%s签到失败, 原因: %s...' % (self.username, client_name, res_json.get('msg')))'''模拟登录'''@staticmethoddef login(username, password):lg = login.Login()_, session = lg.music163(username, password)return session'''run'''
if __name__ == '__main__':username = os.environ["NETEASE_USERNAME"]password = os.environ["NETEASE_PASSWORD"]sign_in = NeteaseSignin(username=username, password=password)sign_in.run()

接着,来定义一下Github的Actions,让它每天执行一次就可以了。具体而言,就是新建一个action.yml文件,内容如下:

name: 'Netease sign in'on:push:branches: - masterschedule:- cron: '0 5 * * *'jobs:netease:runs-on: ubuntu-lateststeps:- name: 'Checkout codes'uses: actions/checkout@v2- name: 'Set python'uses: actions/setup-python@v1with:python-version: '3.x'- name: 'Install dependencies'run: python -m pip install --upgrade DecryptLogin- name: 'signin'env:NETEASE_USERNAME: ${{ secrets.NETEASE_USERNAME }}NETEASE_PASSWORD: ${{ secrets.NETEASE_PASSWORD }}run: python signin.py

简单解释一下吧,on字段用来定义脚本的触发方式,这里我们定义的是每次push操作后或者每天国际标准时间5点执行:

on:push:branches: - masterschedule:- cron: '0 5 * * *'

后面的内容,就是定义我们脚本的运行环境,运行所需的依赖包以及运行使用的命令了。比较简单,就不展开讲了。

现在,我们的repo目录结构是这样子的:

注意:

action.yml文件在.github/workflows目录下。

细心的小伙伴可能会问了,签到需要登录呀,网易云的账号密码应该放在哪呢?直接放在代码里也太不安全了。别担心,我们可以把我们的账户名和密码存在我们新建的repo的Secrets中,然后从Actions配置文件的secrets域中读出并设置为对应的环境变量就行了,上面的配置文件中已经实现了这部分内容:

env:NETEASE_USERNAME: ${{ secrets.NETEASE_USERNAME }}NETEASE_PASSWORD: ${{ secrets.NETEASE_PASSWORD }}

账号密码的存储位置如下图所示:

设置好之后的效果如下:

Ok,大功告成啦,现在只要对这个repo进行push操作后,或者每天的国际标准时间5点,这个签到脚本都会自动执行一次,就像这样:

白嫖成功~感兴趣的小伙伴可以自己动手试试哈,不仅仅局限于签到哦~

下载 github上面脚本_带大家一起来白嫖一波Github的免费计算资源呀~相关推荐

  1. Github的免费计算资源,来做个自动网易云签到吧

    导语 新的一天,从手把手带大家一起来白嫖一波Github的计算资源开始. 白嫖的主要原理是利用Github的Actions功能,该功能于2018年10月推出.关于它的详细介绍,可以参见: https: ...

  2. 【GitHub学生包优惠申请】学生党“白嫖”GitHub攻略2022年6月

    [GitHub学生包优惠申请]震惊!GitHub Student Developer Pack申请居然这么简单!2022年6月 写在前面 申请GitHub Student Developer Pack ...

  3. 用flash做古诗动画_带孩子用两张A4纸做动画(内附资源可下载)

    不要让孩子在成长过程中丢失了对自然的好奇心,在自然科学(物理,化学,生物,天文......)的实验中快乐成长,热爱生活,保护环境,探索精彩世界.科学爸爸的孩子从2014年四岁多开始对科学产生了浓厚兴趣 ...

  4. typora绑定github博客_博客生产线:WordPress(平台)+Typora(编辑器)+GitHub(图床)

    点击上方蓝字可以订阅哦 本文大概:1000字 阅读需要:3分钟 前言 写个人博客的方法和平台有很多,这里介绍的是用个人搭建的WordPress(平台) + Typora(编辑器) + GitHub(图 ...

  5. 免费电子书下载网站,不来白嫖一波

    作为开发者,多多少少都会看些技术书籍,许多经典的技术书籍作者都是国外的,等到中文翻译版出来很多书籍可能已经不适用了,购买原版书籍,价格又太高,因此知道一些免费的图书下载网站是非常重要的,下面就和大家分 ...

  6. valorant皮肤怎么获得_瓦罗兰特Valorant白女票任务出来啦!免费皮肤,特工任你选!...

    各位已入坑与即将入坑的玩家们大家好! 也许在封测中或透过其他渠道,你已经见过开发中的<VALORANT>商店.一些武器造型,和其他造型内容. 我们团队希望玩家在进行游戏时,可以透过收集造型 ...

  7. 白嫖github的Action做定时任务

    自从用了replit搭建免费云服务器,目前的"云主机"对我而言是个伪需求.但是replit有个缺点,空闲一段时间就会休眠,这点很烦人.于是想,要谁能定时请求唤醒一下多好.想到了gi ...

  8. 最新酒桌小游戏喝酒小程序源码_带流量主源码下载

    2022最新酒桌小游戏喝酒小程序源码_带流量主 喝酒神器3.6,我修改增加了广告位,根据文档直接替换即可,原版本没有广告位 直接上传源码到开发者端即可 通过后改广告代码,然后关闭广告展示提交,通过后打 ...

  9. python下载电影_打造一款Python实现自动下载电影的“脚本”!那种电影也可以哦!...

    原标题:打造一款Python实现自动下载电影的"脚本"!那种电影也可以哦! 都很有规律不是吗?而在Scrapy里面,就可以设定我们想要的规律,Scrapy就可以对这些符合规律的网址 ...

最新文章

  1. AI技术诠释全新智能,多方位优化样样贴心
  2. 回调函数之Java/C++版本
  3. 三维重建16:概率图模型 模板类编程
  4. IPFS的相关操作命令
  5. SPP-net学习总结及Python实现
  6. redis 所有模糊key 查询_写完这篇Redis由浅入深剖析快自闭了!
  7. Linux各个目录的用途
  8. 如何root安卓手机_如何从我的字体里面提取TTF并阉割成未Root安卓手机能用的?...
  9. 使用cronolog自动分割apache的日志。
  10. 顶点计划:丢垃圾讨论
  11. 疑似SSD掉盘:自动重启;进BIOS看不到SSD;断电重启才能看到
  12. 使用 ssh-keygen访问服务器
  13. reactbootstrap php,什么是React-Bootstrap
  14. chrome遭劫持7654网站,怎么办?
  15. python绘制中国_Python-Geopandas 教你绘制中国地图
  16. number -1 is not iterable (cannot read property Symbol(Symbol.iterator))
  17. 七绝高手都有哪些?中国历史上10大七言绝句诗人排行榜
  18. php Guzzle源码,php中的curl类 guzzle 的使用
  19. 编程修养 - 来自网络整理
  20. SpringCloud2020学习笔记13——SpringCloud Stream消息驱动

热门文章

  1. 计算机科学荣誉理学学士学位,伦敦大学金史密斯学院计算机科学本科讲述.pdf...
  2. Mac 安装 Python 多版本
  3. 白硕:背靠背知识协同——区块链与人工智能结合的新途径
  4. 超详细 redis入门教程
  5. 【如何做到自律,保持专注】
  6. 视源股份(CVTE)亮相世界顶级计算机视觉盛会CVPR 2017
  7. 随记1 MySQL之特殊字符(表情)的存储以及读取乱码问题
  8. u-collapse折叠面板双层for循环渲染无法加载内层
  9. MFC之学习绘制椭圆、库画刷使用
  10. jQuery添加元素