嗨多摩,我是之前寫過關於怎麼在樹莓派上面跑 [email protected] 的,如果對於如何在樹莓派上面安裝需要的程式然後開始跑 [email protected] 有疑問,可以回頭去看我以前的文章
文章代碼 #1PrkfZ5z (AC_In)
不過大部分的圖可能因為我改圖床都死了,所以可以參照我寫的 Gist(在 Markdown 文件的 Resources 章節
————原始碼————
https://github.com/Suzhou65/Status4HaH
————正文————
今天來介紹一個自己寫的,基於 beautifulsoup4 這個網頁解析器的 Python 模組,用於監測 [email protected] 的運行狀態
以前是有寫過用簡單的 PS 指令(用於查詢程序、程式運作情況的指令)來檢查 [email protected] 有沒有在運作,不過它只能檢查 [email protected] 的運作程序(HentaiAtHome.jar)有沒有在跑,是不是當掉了或是出現連線問題就不能抓出來
於是我轉念一想,直接從 E-Hentai 看實際狀況不是更直接嗎?不只有沒有在正常運作,連詳細的數據(Trust、Quality、Hitrate 跟 Hathrate)這些參數都可以抓到
於是基於 beautifulsoup4 這個網頁解析器模組,就可以寫出自動從 E-Henati 抓取 [email protected] 的執行狀態的腳本跟模組
要運作這個模組,要安裝三個沒有在 Python 內建函式庫的模組
◆ pandas 做大數據跟機械學習的人應該都很熟悉的模組
◇ schedule 用於排程週期性執行
◇ beautifulsoup4 網頁解析器
而開始前,它還需要五個基本設定,儲存在 config.json 這個設定檔裡面,分別是:
○ ipb_member_id 你的 E-Hentai 帳號 ID,七位數純數字
⊙ ipb_pass_hash 你的 E-Hentai 密碼雜湊值
◎ sender 用於寄送警告信的 Gmail 帳號
◎ scepter 用於寄送警告信的 Gmail 帳號的密碼(請產生應用程式密碼)
● receiver 收警告信的帳號,不需要強制用 Gmail,可以隨意
如果沒有設定的話,第一次開始執行時會要求你初始化,如果一開始就把設定檔填寫好,它就會直接開始跑了
ipb_member_id 跟 ipb_pass_hash 如果有用一些看本擴充模組,或是下載器應該都知道怎麼去抓取
要注意的是,如果有這兩個值,理論上任何人都可以直接把它包裝成 Cookie 然後登入你的帳號,所以請確認你下載 Status4HaH 的時候是直接從 GitHub 上面抓原始碼來使用
接著,你就可以選擇你要的現成腳本來運行了,我提供了兩個腳本
○ status_recorder.py 是一個純粹紀錄 [email protected] 運作情況的腳本,會固定把運作的數據儲存成 CSV 格式的檔案方便你取用,如果你是有多台 [email protected] 在運作,也可以根據文件輕易改成依照 [email protected] 的 ID 或是暱稱來分開紀錄,或是只記錄特定一組,適用於新申請的 [email protected] 想看它的運作情況
⊙ status_notification.py 則是會在發現 [email protected] 離線時寄信警告你
⊙ status_monitor.php 則是可以跟離線警告腳本搭配,讓你開網頁就可以看到各個 [email protected] 單元的運作情況跟參數
基本上 [email protected] 的程式本身算是很穩定,連續一整年不間斷運轉都沒問題,所以反而是對你執行它的東西考驗度比較大,例如無預警斷電、網路斷線或是硬碟問題之類的反而比較容易是離線主因
也是因為這樣所以不必一直去確認它,如果是不想損失 Free Archive Quota 那就以 30~45 分鐘為週期、甚至一小時為週期去自動檢查就好,我預設是給 45 分鐘
實際在運作的範本可以參照這個
https://takahashi65.info/page/status_monitor.php