日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/20 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Github的免费计算资源,来做个自动网易云签到吧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

導語

新的一天,從手把手帶大家一起來白嫖一波Github的計算資源開始。
白嫖的主要原理是利用Github的Actions功能,該功能于2018年10月推出。關于它的詳細介紹,可以參見:

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

廢話不多說,讓我們愉快地開始白嫖吧~


開發工具

Python版本:3.6.4
Github賬號一枚

python第三方庫

requests模塊;
DecryptLogin模塊;
以及一些python自帶的模塊。


白嫖教程

先來簡單介紹一下Github的Actions吧,以免各位小伙伴一頭霧水。按照官方自己的定義,就是:

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

說白了,Actions就是一系列的操作,開發者可以通過定義Actions來讓你的日常開發流程中的很多事情可以自動化起來。而對于白嫖黨來說,我們只需要知道,有了這個功能,我們就可以愉快地白嫖Github的計算資源來干一些我們想干的事情啦。比如說:

  • 各大網站、論壇的每日自動簽到;
  • 每天給自己的郵箱發天氣預報/笑話等;
  • 下載需要fq才能看到的視頻;
  • 監控某個人是否發了微博,如果發了就郵件/短信通知自己等等。

上面只是我靈機一動想到的幾個還算有趣的點子,大家也可以充分發揮自己的腦回路,來花式地白嫖Github的計算資源。

首先,新建一個repo:

然后把我們的自動簽到腳本提交到這個repo上去(需要在之前那個版本的基礎上做一點小的修改,即改變讀取用戶名密碼的方式):

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點,這個簽到腳本都會自動執行一次,就像這樣:

白嫖成功,感興趣的小伙伴可以自己動手試試哈,不僅僅局限于簽到哦~

參考 http://www.ruanyifeng.com/blog/2019/09/getting-started-with-github-actions.html


最后還是希望你們能給我點一波小小的關注。

奉上自己誠摯的愛心💖

總結

以上是生活随笔為你收集整理的Github的免费计算资源,来做个自动网易云签到吧的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。