S1作为铁打不动的华语第三动漫论坛,有的文章却需要阅读权限,而S1的升级渠道除了精品贴之外也只有在线时长和签到两个方式,前段时间又关闭了死鱼兑换人品的渠道,因此就连签到(氪金)升级这一条路也被封死了。
于是乎这样的挂机脚本应运而生,然而就算全天候24h挂机,要达到80的阅读权限也需要两百多天,可见S1管理层早已料到用户当中不乏程序猿。要是佛系积累时长,升级更是难上加难,遇事不决,轮子优先。这里从github上找了两个可以用来挂机的轮子,贴出核心代码。
用户界面相对良好的方法一
食用方法
- 下载对标Chrome浏览器的ChromeDriver
- 填入用户名和密码
- python -u app.py
#coding=utf-8
from config import *
from selenium import webdriver
import os
import time
t = 0 # nap times
def clear_scr():
if (os.name == 'nt'):
os.system("cls")
else:
os.system('clear')
def start_bot( page ):
global t
page.get('https://bbs.saraba1st.com/2b/home.php?mod=spacecp&ac=credit&showcredit=1')
page.implicitly_wait(30)
while True:
try:
# Flush page
clear_scr()
print("刷新页面中...", flush=True)
page.refresh()
page.implicitly_wait(30)
total_point = page.find_element_by_id('extcreditmenu').text
user_group = page.find_element_by_id('g_upmine').text
# Print log
clear_scr()
print("已经挂机 " + str(t * nap_time) + " 秒, ", end='')
print("累计 " + str(int(t * nap_time / 60 / 60)) + "小时" + str(int(t * nap_time / 60 % 60)) + "分钟" + str(int(t * nap_time % 60)) + "秒")
print("现有积分 " + total_point + " , " + user_group, flush=True)
print("刷新间隔: " + str(nap_time) + " 秒", flush=True)
# Wait for next flush
t += 1
time.sleep(nap_time)
except:
# If page error
clear_scr()
print("网页故障,将会在1分钟后重试...", flush=True)
time.sleep(60)
page.get('https://bbs.saraba1st.com/2b/home.php?mod=spacecp&ac=credit&showcredit=1')
page.implicitly_wait(30)
def main():
# Init
clear_scr()
print("初始化界面中...", flush=True)
# Get page
page = webdriver.Chrome()
page.set_window_size(1000, 800)
page.set_window_position(800, 100)
page.get('https://bbs.saraba1st.com/2b/forum.php')
page.implicitly_wait(30)
try:
# Login
page.find_element_by_id('ls_username').send_keys(username)
page.find_element_by_id('ls_password').send_keys(password)
page.find_element_by_xpath('//*[@id="lsform"]/div/div/table/tbody/tr[2]/td[3]/button/em').click()
page.implicitly_wait(30)
except:
print("页面初始化出现问题,请稍后重试", flush=True)
return
# Start upgrade
time.sleep(3)
start_bot(page)
if __name__ == "__main__":
main()
简便易操作的方法二
食用方法
- 填入cookie,在
Test
处填入用户名 - python stageKeepLogin.py
注意事项
如果出现ascii报错的话,可以在开头加上一行# -*- coding: UTF-8 -*-
并在汉字的第一个引号前面加上u转为unicode编码
import requests
import time
import random
error=0
while 1:
cookie = {
'B7Y9_2132_auth':'This is your auth',
'B7Y9_2132_saltkey':'This is your slatkey'
}
try:
res = requests.get('https://bbs.saraba1st.com/2b/forum-75-1.html',cookies=cookie)
now = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
except:
time.sleep(60)
if res.text.find('Test') != -1: # 替换成你的用户名
print('['+now+'] '+'Logined')
time.sleep(random.randint(120,480))
if error!=0:
error=0
else:
print('['+now+'] '+'Login failed!')
error=error+1
time.sleep(300)
if error>=3:
break
Comments | NOTHING