介紹
使用 PHP(前端)+ Python3(自動簽到/後端)進行多使用者多工的自動簽到。
此專案涉及語言有:HTML、JavaScript、CSS、SQL、PHP、Python3。
目前支援簽到平臺:Acfun(自動領取每日香蕉)、BiliBili(每日硬幣直播中心自動簽到)、愛奇藝(每日簽到)、網易雲音樂(自動簽到刷單)、QQ音樂(每日自動簽到領積分)。在一天的凌晨會自動發郵件提醒。
支援使用者註冊,使用者郵箱驗證。
更新日誌
2021/2/23
[=]Python 修正資料庫連線失敗BUG
[+]PHP setting_page.php更新儲存資料前臺提交
[+]PHP 設定使用者試用到期 改動 core/loader.php
軟體架構
大致架構為:Python3負責自動簽到;PHP用於前臺的使用者註冊、任務建立;Python與PHP通過SQL資料庫互相交換資料。
演示網址
專案演示網址: blog.zhangyishang.top/Toolbox/webpy
參考的公開原始碼
在設計程專案(程式)時,我們參考了各路大佬原始碼,並進行改變應用到我們的專案,參考列表如下:
- (Python呼叫SQL資料庫)參考官方pymysql文件:www.python.org/dev/peps/pep-0249
- (Python反爬網易雲方法1)來自Github公開原始碼:github.com/SakurajimMai/wyymusic
- (Python反爬網易雲方法2)來自簡書使用者偽文藝boy公開的文章:www.jianshu.com/p/f3764544f6d6
- (Python反爬QQ音樂獲取GTK值方法)來自部落格園使用者jqdemo公開的文章:www.cnblogs.com/jqdemo/p/3139794.h...
- (Python庫AES加密方法)來自CSDN使用者Cosmop01itan的轉載文章:blog.csdn.net/CosmopolitanMe/artic...
- (HTML頁面程式碼)來自Bootstrap 4:www.layoutit.com/build
- (PHP部分寫法)參考:Wordpress、CSDN、菜鳥教程、部落格園、百度經驗、簡書等。(無法找到原地址,這裡表示最誠摯的感謝!)
- (PHP傳送郵件)PHPMailer,參考菜鳥教程:www.runoob.com/w3cnote/php-phpmail...
安裝教程
- 克隆此此倉庫到電腦上,或者下載此倉庫的全部檔案。確保一下檔案在克隆的資料夾內。
- 搭建PHP環境7.3.4其它版本未經測試(可以使用寶塔皮膚、phpstudy等),選擇一個任意的資料夾(下稱“網站目錄”),將PHP資料夾內所有檔案全部拷貝到網站目錄中。
- 建立一個SQL資料庫將,SQL資料夾中的資料用管理工具(phpMyAdmin、HeiDiSQL、SQL_Font等)匯入到這個資料庫內,資料庫參考版本5.7.26其它版本未經測試。
- 確保資料庫中含有webpy_log表、webpy_user表、webpy_part表和webpy_system表。分別註釋如上圖。開啟webpy_system表,修改其中資料:
- 請配置好smtp發信,Python與PHP都使用此賬戶發信!開啟網站目錄,再開啟 core/loader.php 檔案,進行配置PHP檔案設定:
- 說明:變數$emailKey是Python與PHP通訊介面,下方會講(非必要)。儲存檔案後,web訪問此路徑,若出現登入介面則PHP配置完畢。
- 預設管理員賬號密碼均為 admin ,用此賬號登入,看到如下介面並一一測試每個介面確保PHP前端正常執行。
特別說明:由於目前版本並未更新PHP使用者管理,若要修改使用者組,請開啟資料庫中的webpy_user表,修改level項,一一對應如下:-1 管理員;0 未啟用使用者;1 普通使用者;2 試用高階使用者; 3 高階使用者(試用功能尚未新增)
配置Python環境。此原始碼執行在Python3上,程式設計使用Python3.9.0,測試在Python3.7與Python3.8也可以使用執行,其它Python3版本自行確認。開啟Python資料夾下的Webpy.py安裝以下庫並配置其中的資料庫資訊與發件設定。
配置完畢後執行Python出現如下輸出則配置成功,且目標郵箱將會出現一封郵件。若為出現郵件或Python輸出報錯請重新檢測填寫資訊。
[2021-02-21 17:15:06] system> 開始檢查程式執行......
[2021-02-21 17:15:06] system> 正在連線資料庫......
[2021-02-21 17:15:06] system> 正在測試資料庫讀寫......
[2021-02-21 17:15:06] system> webpy_log: 資料總數 1 個 ......OK!
[2021-02-21 17:15:06] system> webpy_part: 資料總數 0 個 ......OK!
[2021-02-21 17:15:06] system> webpy_system: 資料總數 15 個 ......OK!
[2021-02-21 17:15:06] system> webpy_user: 資料總數 1 個 ......OK!
[2021-02-21 17:15:06] system> Change Data: webpy_system -> test_config ......OK!
[2021-02-21 17:15:06] system> 正在測試網站連線......
[2021-02-21 17:15:07] system> 正在測試發郵件......
[2021-02-21 17:15:08] system> 郵件API返回詳情: {'message': 'success', 'To': 'xxx@xxx.com'}
[2021-02-21 17:15:08] system> 測試傳送郵件成功!
[2021-02-21 17:15:08] system> 自檢已完成!所用時間: 2359.55 ms
[2021-02-21 17:15:08] system> 進入程式迴圈......
- Python進入迴圈後,等待每日簽到。
使用說明
- Python傳送郵件說明
Python傳送郵件是使用PHP中的一個API介面進行傳送郵件,此介面存在於 core/email.php 下,當然你可以自行修改Python中發郵件的方式使用Python中的smtplib庫,但是太麻煩了,乾脆使用PHP吧。這裡奉上想要自行修改的方法,找到170行左右的send_email()函式,請不要修改函式中引數的位置(除非你想大改特改)。找到628行左右的if emailDing and emailTest判斷語句,將判斷語句進行修改,確保通過自檢。 - Webpy等級制度說明
目前版本的等級制度並不完善,試用高階會員與高階會員並未實現,目前註冊預設為普通使用者每個專案僅可以建立3個任務,目前使用者不支援找回密碼功能。 - 安全性說明
Python與PHP呼叫SQL資料庫時會進行加密,PHP加解密函式在 core/loader.php 內,Python加解密函式在原始碼內,均為 encode_string()/decode_string() ,使用者密碼使用md5加密與加解密函式無關。更多BUG正在修改。。。。。。 - 檔案說明
根目錄的檔案對應的作用為:
index.php 引導使用者檔案
home_page.php 自動簽到首頁
log_page.php 日誌頁面檔案
setting_page.php 程式設定頁面
user_page.php 使用者設定頁面
login_page.php 登入頁面
register_page.php 註冊頁面
core(dir) 核心檔案
css(dir) css樣式表
js(dir) js檔案
參與貢獻
- 以賞的祕密小屋 blog.zhangyishang.top
- 碼雲倉庫 gitee.com/wojiaoyishang/webpy-auto...
- LearnKu社群
- 所有制作參考資料的同學。
本作品採用《CC 協議》,轉載必須註明作者和本文連結