題記
今天無意瞄到有同學發了幕布送高級會員鏈接,所以想圍觀熱鬧的我也去看了下。
它隨機刷新天數是在今天0點、10點和16點,持續十分鐘,今天早上看到就打算10點進去參與一波。(以前一直沒用過幕布,都是用XMind)
今天下午4點可以去參與
原理
經測試發現,幕布應該是在後端設置隨機變量,每隔一段時間修改天數。因此,我們可以通過刷新頁面,並在每次刷新時判斷此時天數是否爲我們想要的天數,如若不是,則繼續進行循環刷新。
當然,這個程序還是比較簡單的,只是模擬進行刷新點擊操作而已,這個其實人工進行刷新也是可以的,但可能10分鐘下來會很累,也容易看走眼。
其中,說一下機率:大部分時候是90、270、180,540其次,720大概在2次左右,730大概在1次左右。所以建議看下自己的需求和網絡狀態選擇天數,網絡時延會很有很大影響。
實現代碼
# -*- coding: utf-8 -*-
"""
Created on Thu Apr 9 08:58:19 2020
@author: 蟲二
"""
from selenium import webdriver
import time
def visit_mubu():
url = "https://mubu.com/vip_present/haoyunlai"
flag = True
key = "730" # 目前發現的出現天數有90,180,270,540,720,730,可根據自己需要設置
driver = webdriver.Chrome("chromedriver.exe")
driver.get(url)
driver.find_element_by_xpath('//*[@id="main"]/div[2]/a[7]').click()
time.sleep(0.5)
driver.find_element_by_xpath('//*[@id="main-form"]/div[4]/a').click()
time.sleep(0.5)
driver.find_element_by_xpath('//*[@id="main-form"]/div[1]/input').send_keys('賬號') # 輸入賬號
driver.find_element_by_xpath('//*[@id="main-form"]/div[2]/input').send_keys('密碼') # 輸入密碼
driver.find_element_by_xpath('//*[@id="submit"]').click()
time.sleep(1)
# 登錄後會跳到個人文檔上,所以需要再次獲取網址
driver.get(url)
while flag:
time.sleep(0.5) # 延遲時間,即一次運行的時間間隔,如果網絡不太好的話,建議稍微調高一點
elmet = driver.find_element_by_xpath('//*[@id="main"]/div/div[2]').text
if elmet.find(key) != -1:
driver.find_element_by_xpath('//*[@id="get-vip-present"]').text
print("已領到730天!請速來圍觀!!!")
flag = False
else:
driver.refresh()
if __name__ == "__main__":
visit_mubu()
另附
- 可以設置命令腳本文件批量執行程序,方法如下,在python程序目錄下新建bat文件,然後點擊bat文件就可以了。
但需要注意的是,當程序運行太多會很影響計算機性能和訪問網頁速度,因此建議開一兩個就可以了,機率都是一樣的,是按時間隨機變化,所以開多個程序也沒用處。 - 最好提前十多秒執行程序,因爲登錄操作需要時間
- 需要配置python環境,chromedriver.exe + selenium。
教訓
測試時其實刷到了很多540天以上的時候,但不瞭解幕布贈送機制,導致沒白嫖成功。
因爲幕布是需要提前登錄纔可以領取,結果我刷了很多頁面一登錄就沒得了。
所以測試後我加上了登錄操作,但在測試時,需要測試點擊事件,用自己的賬號,結果一點擊就直接領取了90天。。
白嫖🐟我無瓜
白嫖是不可能的了,還是用XMind好了