账号密码登录签到--修改福利吧签到脚本【阿里云函数】
导读
原帖地址:https://www.wnflb99.com/thread-191531-1-1.html
考虑到更换电脑登陆后COOKIE失效的问题,在原帖的基础上修改成了账号密码登陆签到
云函数使用方法参考原帖,区别为:
1.替换原帖的index.py
2.阿里云函数-环境变量配置-添加以下变量:
fuliba_page=https://fuliba-1251744788.file.myqcloud.com
fuliba_username=你的福吧用户名
fuliba_password=你的福吧登陆密码复制代码新index.py:
# -*- coding: utf8 -*-
"""
cron: 30 5,12,18 * * *
new Env('福利吧签到');
"""
import requests
import re
import os, sys
from pusher import pusher
def start(username,password):
try:
s = requests.session()
flb_url = get_addr()
headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Accept - Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.9',
'cache-control': 'max-age=0',
'Host': flb_url,
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36 Edg/97.0.1072.62'}
user_cookie=fuliba_login(username,password)
# 访问Pc主页
user_info = s.get('https://' + flb_url + '/forum.php?mobile=no', headers=headers,cookies=user_cookie).text
user_name = re.search(r'title="访问我的空间">(.*?)', user_info)
if user_name:
print("登录用户名为:" + user_name.group(1))
print("环境用户名为:" + username)
else:
print("未获取到用户名")
if user_name is None or (user_name.group(1) != username):
raise Exception("【福利吧】cookie失效???????")
# 获取签到链接,并签到
qiandao_url = re.search(r'}function fx_checkin(.*?);', user_info).group(1)
qiandao_url = qiandao_url[47:-2]
print(qiandao_url)
# 签到
s.get('https://' + flb_url + '/' + qiandao_url, headers=headers,cookies=user_cookie).text
# 获取积分
user_info = s.get('https://' + flb_url + '/forum.php?mobile=no', headers=headers,cookies=user_cookie).text
current_money = re.search(r'
sing_day = re.search(r'
log_info = "{}当前{}".format(sing_day, current_money)
print(log_info)
pusher("福利吧论坛签到结果", log_info)
except Exception as e:
print("福利吧论坛签到失败,失败原因:"+str(e))
pusher("福利吧论坛签到结果", str(e))
def get_addr():
pub_page = os.environ.get("fuliba_page")
ret = requests.get(pub_page)
ret.encoding = "utf-8"
bbs_addr = re.findall(r'https://(.*?)', ret.text)[1]
return bbs_addr
def fuliba_login(username,password):
user_cookie={}
login_header={'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Accept - Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.9',
'cache-control': 'max-age=0',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36 Edg/97.0.1072.62'
}
login_data={
'username':username,
'password':password,
'quickforward':'yes',
'handlekey':'ls'
}
login_url='https://www.wnflb99.com/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1'
s=requests.session()
res=s.post(login_url,headers=login_header,data=login_data)
for cookie in res.cookies:
user_cookie[cookie.name]=cookie.value
return user_cookie
def main_handler(event, context):
user_name = os.environ.get("fuliba_username")
pass_word = os.environ.get("fuliba_password")
start(user_name,pass_word)
复制代码